メンバーシップと呼ばれる非常に基本的なmysqlテーブルがあり、どのユーザーがどのグループに属しているかを追跡します。人々は多くのグループに属することができます。
id、person_id、group_idの3つのフィールドが含まれています
group_idsが「20」と「53」のすべてのperson_idsを選択する必要があります。人々はそれらの2つのグループだけに属していなければなりません。
メンバーシップと呼ばれる非常に基本的なmysqlテーブルがあり、どのユーザーがどのグループに属しているかを追跡します。人々は多くのグループに属することができます。
id、person_id、group_idの3つのフィールドが含まれています
group_idsが「20」と「53」のすべてのperson_idsを選択する必要があります。人々はそれらの2つのグループだけに属していなければなりません。
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;
あなたもNOT EXISTS
フォーマットに行くことができますが。