Проблемът се нарича Relational Division
.
SELECT group_id
FROM stuff
WHERE member_id IN (11,22,33)
GROUP BY group_id
HAVING COUNT(*) = 3
ако member_id
не е уникален за всеки group_id
, трябва да имате DISTINCT
за да се отчитат само уникални стойности.
SELECT group_id
FROM stuff
WHERE member_id IN (11,22,33)
GROUP BY group_id
HAVING COUNT(DISTINCT member_id) = 3
Още вариации на тази връзка: