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

CW76
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 16 Jan 2011

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

Message le Mer Aoû 10, 2011 14:01

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
@+


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3835
Inscription: 14 Sep 2006

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

Message le Mer Aoû 10, 2011 14:03

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.

CW76
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 16 Jan 2011

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

Message le Mer Aoû 10, 2011 14:14

YoyoS a écrit: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 !


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3835
Inscription: 14 Sep 2006

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

Message le Mer Aoû 10, 2011 14:16

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.

CW76
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 16 Jan 2011

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

Message le Mer Aoû 10, 2011 14:42

YoyoS a écrit: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: Tout sélectionner
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...
@+


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

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

Message le Mer Aoû 10, 2011 14:54

Je rejoins l'avis de YoyoS, c'est nul d'avoir 2 tables pour les catégories / sous catégories.
http://www.sitepoint.com/hierarchical-data-database/


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités