Bonjour, j'vous décris mon souci :
J'ai 3 tables :
Ce que j'aimerai faire c'est, par exemple : récupérer les produits de la catégorie "catX", dis comme ça c'est pas compliqué mais ceci doit également les inclure les produits des sous-categories de la categorie "catX".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 > categorie +-------+---------+------------+ | idCat | nomCat | cat_parent | +-------+---------+------------+ | 17 | catB | 21 | +-------+---------+------------+ | 21 | catX | -1 | +-------+---------+------------+ | 22 | catY | 21 | +-------+---------+------------+ > categorie_produit +---------+---------+ | ref | id | +---------+---------+ | prod67 | 22 | +---------+---------+ | prod92 | 22 | +---------+---------+ | prod13 | 22 | +---------+---------+ | prod77 | 17 | +---------+---------+ > produit +-----------+---------+ | refProd | nomProd | +-----------+---------+ | prod67 | truc | +-----------+---------+ | prod92 | machin | +-----------+---------+ | prod13 | ceci | +-----------+---------+ | prod77 | cela | +-----------+---------+
Dans la table categorie, le champ "categorie_parent" de "catX" vaut "-1" ce qui veut dire que c'est une categorie_parent, alors que les autres categories (catB & catY) ont comme valeur pour le champ "categorie_parent" l'ID de la categorie dont elles sont la "fille"...
Pour faire clair, lorsque je demande les produits de la categorie "catX" il me faut non seulement ces produits mais egalement les produits qui se trouveraient dans ses categories_filles (ici : "catB" & "catY")...
Donc comme j'ai du mal, j'y vais étape par étape, j'en suis arrivé à la requete suivant (j'essaye d'aficher les references des produits concernés) :
la sous-requete devrait me sortir deux résultats (17 & 22), et avec j'devrais pouvoir selectionner les produits, mais ça ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ref FROM categorie_produit WHERE id = ( SELECT idCat FROM categorie WHERE cat_parent = 21 )
de l'aide, please.
Partager