Salut,

J'ai un souci au niveau d'une jointure que j'arrive pas à résoudre.
J'ai 3 tables :

TABLE codes (1000 lignes)
code_uid
nom

TABLE groupes (60 lignes)
group_uid
nom_groupe
type_groupe

TABLE code_groupes (400 lignes)
group_uid
code_uid

Le but de la requete est de recupérer pour une recherche par nom les codes groupes et non groupes.

Par exemple je recherche 'TORR%', il va me sortir par exemple 15 codes groupes avec le nom du groupes et 210 codes non groupes.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT c.code_uid, c.nom, g.nom_groupe, g.group_type 
FROM codes c, groupes g, code_groupes cg 
WHERE cg.code_uid (+)= c.code_uid
AND cg.group_uid = g.group_uid
AND c.nom LIKE 'TORR%'
AND g.group_type = 'GROUPE3'
La requete ci-dessus me sort que les codes groupes. Lorsque je mets
AND cg.group_uid (+)= g.group_uid, il me génére l'erreur :

ORA-01417 : a table may be outer joined to at most one other table

Je n'arrive pas à faire une jointure externe sur 2 champs d'une même table..

Merci