首页 > 解决方案 > 你如何找到有 X、Y、Z 成员的组?

问题描述

在一对多的关系中,假设 aGroup有 many Members,而我有 3 个成员。我如何找到他们所在的组?

users
-------
1 Alice
2 Bob
3 Charlie
4 Doug


groups
-------
1 Pokemon Club
2 Bitcoin Club
3 Sunday Martinis
4 WSB

members
-------
group_id, user_id
1, 1
1, 2
1, 3
2, 1
2, 2
2, 3
3, 1
3, 2
3, 4
4, 3

我想制作一个 SQL,在给定用户 1、2 和 3 的情况下,我将获得组 1 和 2。我该怎么做?

标签: sql

解决方案


这应该可以帮助你,

select group_id from members 
where user_id in(1,2,3)
group by group_id
having count(group_id) = 3;

推荐阅读