Bonjour à tous,
Voila mon Souci, j'ai 3 tables :
produits
id | ref ...
2 | AA
2 | BB
3 | CC
4 | DD
produits_filtres
produits_id | filtres_id
2 | 9
2 | 11
3 | 11
4 | 12
filtres
id | NameFiltre | ValueFiltre
8 | Themes | Plage
9 | Themes | Ville
10 | Motifs | Rayures
11 | Motifs | Zèbre
12 | style | Rock
J'ai une requête qui me permets de lister tous les filtres utilisé par les produits :
SELECT F.* FROM `filtres` F
JOIN `produits_filtres` PF
ON `PF`.`filtres_id` = `F`.id
JOIN `produits` P
ON `P`.id = `PF`.`produits_id`
GROUP BY `F`.`id`
Résultat :
9 Themes Ville
11 Motifs Zèbre
12 style Rock
Mais je n'arrive pas à lister les filtres qu'utilisent les produits dont un filtre est déjà utilisé ex :
Si ma requête cible les produits dont PF.filtres_id = 9,
j'aimerais que la liste des filtres utilisé par PF.produits_id, et qui ont PF.filtres_id = 9
Résultat souhaité :
9 Themes Ville
11 Motifs Zèbre
j'ai testé avec une sous requête : WHERE `P`.`id` IN (SELECT `P`.`id` FROM `produits` PF WHERE `PF`.`filtres_id` = 9 )
Mais non...
en espérant avoir été assez explicite.
Merci de votre aide,
Franck
Voila mon Souci, j'ai 3 tables :
produits
id | ref ...
2 | AA
2 | BB
3 | CC
4 | DD
produits_filtres
produits_id | filtres_id
2 | 9
2 | 11
3 | 11
4 | 12
filtres
id | NameFiltre | ValueFiltre
8 | Themes | Plage
9 | Themes | Ville
10 | Motifs | Rayures
11 | Motifs | Zèbre
12 | style | Rock
J'ai une requête qui me permets de lister tous les filtres utilisé par les produits :
SELECT F.* FROM `filtres` F
JOIN `produits_filtres` PF
ON `PF`.`filtres_id` = `F`.id
JOIN `produits` P
ON `P`.id = `PF`.`produits_id`
GROUP BY `F`.`id`
Résultat :
9 Themes Ville
11 Motifs Zèbre
12 style Rock
Mais je n'arrive pas à lister les filtres qu'utilisent les produits dont un filtre est déjà utilisé ex :
Si ma requête cible les produits dont PF.filtres_id = 9,
j'aimerais que la liste des filtres utilisé par PF.produits_id, et qui ont PF.filtres_id = 9
Résultat souhaité :
9 Themes Ville
11 Motifs Zèbre
j'ai testé avec une sous requête : WHERE `P`.`id` IN (SELECT `P`.`id` FROM `produits` PF WHERE `PF`.`filtres_id` = 9 )
Mais non...
en espérant avoir été assez explicite.
Merci de votre aide,
Franck