我有一张桌子
id|customer_id|comment
1 34 good
2 23 bad
3 34 regular
4 76 longterm
5 34 bad
6 23 good
我们可以看到一个customer_id有不同的评论(前 - 34有好的常规坏) 我试图从上表中记录评论“好又坏”的记录,并按customer_id分组,所以在结果中我应该看到记录id => 1,5,2,6
有人可以帮我写这个where子句。
问候
答案 0 :(得分:3)
要让一行数据引用另一行,您需要一个连接。在这种情况下,您将要加入对自己的评论:
select distinct a.customer_id
from comments a
join comments b on a.customer_id = b.customer_id and a.id < b.id
where a.comment = 'good'
and b.comment = 'bad'
我选择a.id < b.id
语法以避免在两个方向上执行相同的连接,从而导致重复工作。通过指定distinct,您将只看到每个客户一次。