Bonjour,
J'ai une requête HQL, faisant charger la liste des affaires affectées à un commercial ou un groupe de commerciaux dans un commercial donné y appartient.
J'ai donc 3 tables : Personne, Groupe, Affaire
Groupe = ensemble de personnes
Affaire = peut être affectée à un commercial ou un groupe de commerciaux
Commercail = personne
Je veux avoir la liste des affaires affectées à un commercial et aux groupes aux quels il appartient.
La suivante requête fait se que je veux, mais elle m'apporte chaque ligne 4 fois.
Cela me pousse à croire qu'une (ou plusieurs) jointure(s) manquante(s).
Pouvez vous me donner vos avis, ainsi que vos propres idées ? Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
select a from AvAffaire a, AvDemande d 
where  d.Id = a.Demande and d.Statu = 'statut' 
and a.Commercial = 1 or a.Groupe in 
(
   select g from AvGroup g, AvPersonne p 
   where g in elements(p.AvGroups) and p.Id = 1
)