gpt4 book ai didi

tsql - T-SQL - 如何编写查询以获取与多对多连接中的所有记录匹配的记录

转载 作者:行者123 更新时间:2023-12-05 00:42:39 26 4
gpt4 key购买 nike

(我认为我没有正确命名这个问题 - 但我不知道如何描述它)

这是我想要做的:

假设我有一个 Person 表,其中包含一个 PersonID 字段。假设一个人可以属于许多组。所以有一个带有 GroupID 字段的 Group 表和一个 GroupMembership 表,它是两个表之间的多对多连接,GroupMembership 表有一个 PersonID 字段和一个 GroupID 字段。到目前为止,它是一个简单的多对多连接。

给定一个 GroupID 列表,我希望能够编写一个查询,该查询返回所有这些组(不是这些组中的任何一个)中的所有人员。并且查询应该能够处理任意数量的 GroupID。我想避免动态 SQL。

有没有一些简单的方法可以做到这一点,我想念?
谢谢,
科里

最佳答案

select person_id, count(*) from groupmembership
where group_id in ([your list of group ids])
group by person_id
having count(*) = [size of your list of group ids]

编辑:谢谢dotjoe!

关于tsql - T-SQL - 如何编写查询以获取与多对多连接中的所有记录匹配的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1849535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com