1

我有一个包含两个表的数据库

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 查询,它可以列出 Group1Group3 中的所有成员(同时),而不是 Group1 中的所有成员和 Group3 中的所有成员。

我应该能够选择我想要的尽可能多的组,并同时获得属于所有组的成员。

我正在使用 SQL CE 4 数据库。

请指教。

4

1 回答 1

0

您只需其中一张表即可列出所有成员。您只需要 members 表在单个查询中检索有关每个成员的附加信息(这不是问题)。

SELECT member 
FROM groups
WHERE group IN ('group1', 'group3')
GROUP BY member
HAVING COUNT(*) = 2

假设组表中成员和组的组合具有唯一键。

于 2016-11-29T20:19:52.930 回答