我有2个表:线程和成员。
表线程:id |名字| ...
表成员:id | threadId |名字| ...
线程可以包含2个或更多成员。成员可以存在于不同的线程中。 我想得到一个线程,其中只有2个成员,其中一个成员的名称为AAA。
DB:android中的sqlite。
答案 0 :(得分:2)
将聚合与having
子句一起使用:
select m.ThreadId
from members m
group by m.ThreadId
having count(*) = 2 and
sum(case when m.name = 'AAA' then 1 else 0 end) = 1;