[MySQL] Requête SELECT entre 3 tables liées

Nouveau WRInaute
Bonjour,

Impossible de générer ma requête comme je veux, après 1h de googlenquête !

J'ai 3 tables :
1) tbl_categories (id_categorie INT, titre_categorie)
2) tbl_sous_categories (id_sous_categorie INT, id_categorie INT, titre_sous_categorie)
3) tbl_articles (id_article INT, id_sous_categorie INT, titre_article, ...)

Comme vous pouvez le voir, la tbl 3 est liée à la tbl 2, laquelle est liée à la tbl 1 (par leurs ID respectifs)

Je veux que ma requête produise la sélection suivante :

TOUS les enregistrements de ma tbl_articles avec, pour chaque enregistrement, le titre_sous_categorie correspondant dans ma tbl_sous_categories + le titre_categorie correspondant dans ma tbl_categories.

Merci infiniment pour l'aide que vous pourrez m'apporter
@+
 
WRInaute accro
Tu devrais revoir la structure de ton schéma. Pour les catégories et sous catégories je n'aurais vu qu'une seule table avec un champ supplémentaire pour montrer quel est l'id de la catégorie parente. Si catégorie principale: id_parent 0 par exemple ou null.
 
Nouveau WRInaute
YoyoS a dit:
Tu devrais revoir la structure de ton schéma. Pour les catégories et sous catégories je n'aurais vu qu'une seule table avec un champ supplémentaire pour montrer quel est l'id de la catégorie parente. Si catégorie principale: id_parent 0 par exemple ou null.

Non, ce n'est pas possible (sauf erreur !), car le nb de catégories, de sous-catégories et d'articles peut être infini
Merci !
 
WRInaute accro
Et alors, la catégorie A est principal, id_parent : 0
Catégorie B , id_parent A
Catégorie C, id_parent B
Catégorie D, id_parent C
et ainsi de suite à l'infini ^^

Après cela dépend de ce que tu veux faire par la suite.
 
Nouveau WRInaute
[RESOLU] [MySQL] Requête SELECT entre 3 tables liées

YoyoS a dit:
Et alors, la catégorie A est principal, id_parent : 0
Catégorie B , id_parent A
Catégorie C, id_parent B
Catégorie D, id_parent C
et ainsi de suite à l'infini ^^

Après cela dépend de ce que tu veux faire par la suite.

Ca y est j'ai trouvé !!! Alors pour ceux que ça peut aider :
Code:
SELECT tbl_categories.titre_categorie, tbl_sous_categories.titre_souscategorie, tbl_articles.id_article, 
tbl_articles.titre_article, tbl_articles.texte_article 
FROM tbl_categories 
JOIN tbl_sous_categories USING ( id_categ )
JOIN tbl_articles USING ( id_souscateg )

En tout cas, merci beaucoup YoyoS pour t'être penché sur mon pb...
@+
 
Discussions similaires
Haut