Bonjour,
Je suis en train de développer un système de favoris : des sites web (table 1) sont associés à des tags (table 2) via une table pivot, la table 3
Bien entendu un lien peut être associé à plusieurs tags (d'où la table pivot).
table1 :
table2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ! ----- ! ----------------! ! t1_id ! t1_libelle ! ! ----- ! ---------------- ! ! 1 ! Site 1 ! ! ----- ! ---------------- ! ! 2 ! Site 2 ! ! ----- ! ---------------- !
table3 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ! ----- ! -----------------! ! t2_id ! tag ! ! ----- ! ---------------- ! ! 3 ! Référencement ! ! ----- ! ----------------! ! 4 ! Linking ! ! ----- ! ----------------! ! 5 ! HTML ! ! ----- ! ----------------!
Ma requête, ci-dessous, affiche les sites qui ont soit le tag 'Référencement" soit le tag 'Linking' : les sites 1 et 2 sont affichés, ce n'est pas ce que veux : je voudrais afficher les sites qui ont en même temps les tags 'Référencement" et 'Linking' (donc ici uniquement le site 1) .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ! ----- ! ----------------! ! t1_id ! t2_id ! ! ----- ! ----------------! ! 1 ! 3 ! ! ---- ! ---------------- ! ! 1 ! 4 ! ! ---- ! ---------------- ! ! 2 ! 4 ! ! ---- ! ---------------- ! ! 2 ! 5 ! ! ---- ! ---------------- !
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT t1.* FROM table1 t1, table3 t3 WHERE t1.t1_id = t3.t1_id AND (t3.t2_id = 3 OR t3.t2_id = 4)
Partager