Bonjour,
A partir de 2 tables (une table d'élément et une table de liens), je cherche le moyen d'obtenir une liste contenant tous les éléments d'un type (type1) et leur lien avec un autre type (type2), et les éléments (de type1) ne disposant pas de liens (avec les élément de type2).
La table des éléments contient des éléments de types différents identifiés par le champs "TYPE"
La table des liens permet d'associer les éléments entre eux quelque soit leur type. Et bien sûr un élément d'un type peut être lié à plusieurs autres éléments de type différents.
J'ai fait une requête du type
Code :
Code :
- select *
- from table_element T0
- left join table_lien T1 on (T0.id = T1.id1) or (T0.id = T1.id2)
- left join table_element T2 on (T1.id1=T2.id) or (T1.id2 = T2.id)
- where T0.type = type1
- and (T2.type = type2 or T2.type is null)
|
La requete fonctionne bien, sauf si un élément de type1 est lié à un autre élément de type quelconque mais pas à un élément de type2 (il n'apparait pas dans le résultat)
Je ne vois pas comment faire ma requete pour ne faire un test de lien et de non lien avec seulement le élément d'un type spécifé sans m'occuper des autres type d'éléments.
Merci de votre aide.