1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
CREATE TABLE T_USERGROUP_UGP
(user_id CHAR,
group_id int)
INSERT INTO T_USERGROUP_UGP VALUES ('X', 1)
INSERT INTO T_USERGROUP_UGP VALUES ('X', 2)
INSERT INTO T_USERGROUP_UGP VALUES ('X', 3)
INSERT INTO T_USERGROUP_UGP VALUES ('X', 4)
INSERT INTO T_USERGROUP_UGP VALUES ('X', 5)
INSERT INTO T_USERGROUP_UGP VALUES ('X', 6)
INSERT INTO T_USERGROUP_UGP VALUES ('Y', 4)
INSERT INTO T_USERGROUP_UGP VALUES ('Y', 5)
INSERT INTO T_USERGROUP_UGP VALUES ('Y', 6)
SELECT 1
FROM T_USERGROUP_UGP T1
JOIN T_USERGROUP_UGP T2
ON T1.group_id = T2.group_id
WHERE T1.user_id = 'Y'
HAVING Count(DISTINCT T1.group_id) = (SELECT COUNT(DISTINCT group_id)
FROM T_USERGROUP_UGP
WHERE user_id = 'Y') |