結合テーブルが 1 つあるテーブルを選択する必要があります
たとえば、次のテーブルがあります。
Role,AccountRole,Account
AccountRole - many to many relationship
1 つのアカウントを持つロールを選択する必要があります
Role table
id name
1 admin
2 user
3 external
Account table
id name
1 homer
2 jessica
3 simpson
AccountRole table
account_id role_id
1 1
1 2
2 2
3 3
クエリ:
SELECT role.id
FROM Role role
INNER JOIN AccountRole accRole
ON accRole.role_id = role.id
INNER JOIN Account acc
ON accRole.account_id = acc.id
GROUP BY role.id
HAVING COUNT(*) = 1
クエリ結果:
role.id
2
3
しかし、role.idが必要です。これは、role.name = "external"です(この場合、role.id = 3ですが、2ではありません)
これを行う方法