我有一个包含两个表的数据库
Table 1: Members
Member1
Member2
Member3
Member4
Table 2: Groups
Member1 | Group1
Member1 | Group2
Member2 | Group1
Member3 | Group1
Member3 | Group2
Member3 | Group3
Member4 | Group1
Member4 | Group2
Member4 | Group3
Member4 | Group4
我需要一个SQL查询,可以列出Group1 和 Group3(同时)中的所有成员,而不是Group1中的所有成员和Group3中的所有成员。
我应该能够选择我想要的任意数量的组,并同时获取属于所有组的成员。
我正在使用SQL CE 4数据库。
请建议。
答案 0 :(得分:0)
您只需要其中一个表来列出所有成员。您只需要members表来检索单个查询中的每个成员的其他信息(这不是问题)。
SELECT member
FROM groups
WHERE group IN ('group1', 'group3')
GROUP BY member
HAVING COUNT(*) = 2
假设组表中成员和组合的唯一键。