【问题标题】:Group two database tables将两个数据库表分组
【发布时间】:2016-11-29 20:09:14
【问题描述】:

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

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 数据库。

请指教。

【问题讨论】:

    标签: sqlcedatareader


    【解决方案1】:

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

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

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

    【讨论】:

    • 它有效,我明白你的评论是什么意思。只是遇到了一些问题才能使其正常工作,但是您的解决方案很棒。谢谢!
    • @ola:您可以将其标记为答案并点赞。欢迎使用 StackOverflow!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多