sql - 你如何找到有 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。我该怎么做?
解决方案
这应该可以帮助你,
select group_id from members
where user_id in(1,2,3)
group by group_id
having count(group_id) = 3;
推荐阅读
- angular - 使用 apollo 在 Angular 中捕获 http 状态代码
- c# - 在递归算法中使用 Parallel.For 的最佳方法是什么?
- javascript - node.js 中的应用程序说它正在注册,但 mongo 没有创建新的数据库
- automl - 使用 Google AutoML Vision 分类进行增量学习
- c# - 如何为标准十六进制编码创建覆盖以使用我自己的值?
- python - 我现在无法在我的项目中导入“命令”
- html - 以角度使用主机选择器
- sql - 使用正则表达式替换 select 语句中的 where 子句
- javascript - slidetoggle 在点击功能上执行了 2 次
- react-native - 在 Here Places API 中获取 NMACategory 的 iconURL 的正确方法是什么?