给出booth
和user
之间m-2-m关系的连接表
+-----------+------------------+
| booth_id | user_id |
+-----------+------------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 5 |
| 1 | 9 |
| 2 | 1 |
| 2 | 2 |
| 2 | 5 |
| 2 | 10 |
| 3 | 1 |
| 3 | 2 |
| 3 | 3 |
| 3 | 4 |
| 3 | 6 |
| 3 | 11 |
+-----------+------------------+
如何获取用户ID子集之间通用的一组独特的booth
记录?例如,如果我的user_id
值为{{} 1}},我希望结果集只包含ID为1,2,3
的{{1}},因为它是上面所有booth
之间联接表中唯一的常见3
我希望我在MySQL中缺少一个关键字来实现这一点。我到目前为止最远的是使用booth
,但这总是返回一个空的结果集(我相信我明白为什么会这样)。
答案 0 :(得分:1)
对此的SQL查询将是:
select booth_id from table1 where [user_id]
in (1,2,3) group by booth_id having count(booth_id) =
(select count(distinct([user_id])) from table1 where [user_id] in (1,2,3))
如果这可以帮助您创建MySQL查询。