我有一个用于"订单"的数据库表
订单id、用户id、订单状态。。
我需要检查用户是否已经完成了至少一种产品的订单状态,以便我可以批准该用户成为我的推荐系统的积极参与者。用户可以购买许多产品并有许多订单,但我需要知道他是否完成了至少一个完整的成功订单。
然后我可以比较状态并将其指定为活动状态。
My table goes like this
order_id user_id order_status
1 2 completed
2 2 pending
3 3 pending
4 4 completed
你总是可以做一些非常简单的事情,比如;
SELECT DISTINCT
user_id,
user_id IN
(SELECT user_id FROM orders WHERE order_status='completed') "good standing"
FROM orders;
要测试的SQLfiddle。
如果存在,则为"true"。如果不存在,则不返回任何行。
SELECT true WHERE user_id=:user_id AND order_status=completed LIMIT 1