1
je dois choisir une table qui ont une table de jointuresql.limit sur le nombre de tables liées
par exemple il y a des tables:
Role,AccountRole,Account
AccountRole - many to many relationship
besoin de sélectionner le rôle qui a un compte
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
requête:
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
dans le résultat de la requête:
role.id
2
3
mais j'ai besoin role.id qui role.name = "externe" (en l'occurrence role.id = 3, mais pas 2)
comment faire cela
merci.Comment ajouter une condition sur le nom du compte? – MaksiK
quelle condition voulez-vous? –
exemple: où c.name = 'compte1'. mais si j'ajoute cette condition, l'ensemble de résultats a des rôles, qui ont plus d'un compte – MaksiK