从具有相对表中的修复计数行的多个表中进行选择

时间:2013-05-24 18:37:24

标签: android sql sqlite

我有2个表:线程和成员。

表线程:id |名字| ...

表成员:id | threadId |名字| ...

线程可以包含2个或更多成员。成员可以存在于不同的线程中。 我想得到一个线程,其中只有2个成员,其中一个成员的名称为AAA。

DB:android中的sqlite。

1 个答案:

答案 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;