Bonjour,
Je souhaite savoir s'il est possible d'obtenir à la fois les correspondances et les non correspondances quand on a, entre deux tables, une table de jointure.
Je m'explique :
avec un lien 1-n, donc juste 2 tables, je peux facilement obtenir la correspondance et a non correspondance d'enregistrements avec un simple LEFT JOIN ou un RIGHT JOIN.
Exemple (un peu scolaire:
1 table theme
1 table recherche
1 theme peut posséder plusieurs recherches
1 recherche ne peut appartenir qu'à un seul thème
J'ai simplement besoin d'une table theme et d'une table recherche, cette derniere possédant un champ FK pour contenir l'identifiant de la table theme.
Pour récupérer à la fois les enregistrements en correspondances et en non correspondance, je peux faire :
SELECT id_recherche FROM recherche LEFT JOIN theme ON id_theme WHERE id_theme=1
=> j'obtiens les recherches qui appartiennent au theme 1 ainsi que celles qui n'appartiennent pas au thème 1
Maintenant, je change de liaison :
J'ai une liaison n-n.
Une recherche peut appartenir à plusieurs thèmes et un thème peut posséder plusieurs recherches.
J'ai donc une table de jointure qui va réunir comme champ pour former la clé primaire l'identifiant de la table theme et l'identifiant de la table recherche.
Question : comment obtenir dans ce cas les recherches associées et non associées à un thème donné en une seule requête ?
Avez-vous déjà rencontré ce cas ?
Merci pour votre aide, n'hésitez pas si ce n'est pas assez précis/compréhensible.
Martin
Partager