Merci pour vos réponses !
Gardyen :
ta requete ne fonctionne pas car lorsque tu fais
Citation:
left join u.Usersgroups ug
left join ug.AccessRights ar
Usersgroups ne contient pas d'élément AccessRights donc forcémment il rale...
fr1man :
Ta 2ème requete fonctionne a merveille
Citation:
select u, ar
from Users u, AccessRights ar
left join u.Usersaddress
left join u.Usersgroups ug1
left join ar.Usersgroups ug2
where u.id = 0 and ug1 = ug2
En effet je peux meme la simplifier sans l'addresse
Citation:
SELECT u, ar FROM Users u, AccessRights ar
LEFT JOIN u.Usersgroups ug1
LEFT JOIN ar.IdUserGroup ug2
WHERE u.id = :id AND ug1 = ug2
En revanche je ne comprend pas pourquoi la requete ne peux pas etre encore simplifier de la sorte, dans ce cas ci dessous il me sort tout les AccessRights de la base et pas ceux seulement de l'User
Citation:
SELECT u, ar FROM Users u, AccessRights ar
LEFT JOIN u.Usersgroups
WHERE u.id = :id
Normalement la jointure devrait etre efficace comme ceci ??
ce n'est pas le cas...
Pourquoi faut il absolument rajouter la condition "AND ug1 = ug2" dans la clause WHERE et cette jointure en plus ("LEFT JOIN ar.IdUserGroup ug2") ???
D'avance merci.