0

我有一个“订单”的数据库表

订单 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
4

2 回答 2

0

将是“真实的”,如果存在的话。如果不存在,则不返回任何行。

SELECT true WHERE user_id=:user_id AND order_status=completed LIMIT 1
于 2013-07-06T08:01:09.373 回答
0

你总是可以做一些非常简单的事情,比如;

SELECT DISTINCT
  user_id, 
  user_id IN 
    (SELECT user_id FROM orders WHERE order_status='completed') "good standing"
FROM orders;

一个用于测试的 SQLfiddle

于 2013-07-06T08:07:48.130 回答