看似简单的mysql查询,证明很难
我有一个非常基本的mysql表,名为memberships,它跟踪哪些人属于哪些组。人可以属于许多群体 它包含3个字段:id、人员id、组id 我需要选择组ID为“20”和“53”的所有人员ID。这些人必须只属于这两个群体看似简单的mysql查询,证明很难,mysql,Mysql,我有一个非常基本的mysql表,名为memberships,它跟踪哪些人属于哪些组。人可以属于许多群体 它包含3个字段:id、人员id、组id 我需要选择组ID为“20”和“53”的所有人员ID。这些人必须只属于这两个群体 SELECT DISTINCT a.person_id FROM memberships a JOIN memberships b ON a.person_id = b.person_id AND b.group_id = 53 LEFT JOIN memb
SELECT DISTINCT a.person_id
FROM memberships a
JOIN memberships b
ON a.person_id = b.person_id
AND b.group_id = 53
LEFT JOIN memberships c
ON a.person_id = c.person_id
AND c.group_id NOT IN (20,53)
WHERE a.group_id = 20 AND c.person_id IS NULL;
尽管你也可以选择一种格式