Requete SQL sur 2 tables JOINTURES

Résolu
J@rodd Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -  
J@rodd Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye depuis un moment de savoir comment m'y prendre mais sans succès.
J'ai deux tables ARTICLES et CATEGORIES, dans la table "article" il y a plusieurs champs mais le plus intéressant c'est ces 2 la : category_1 et category_2.

Et ils contiennent une valeur ID de la table CATEGORIES ex:(1 à 9) avec un nom.

Donc le fonctionne est que pour moi chaque "article" peut avoir plusieurs "category".

Example : article id:1 va avoir dans sa colonne category_1 = 2 et category_2 = 8.

Ma question si pas trop bête : Comment récupérer le nom des category que contient mon article.
Actuellement je ne peux récupérer que pour la category_1 ou 2 c'est l'un ou l'autre pas les deux...

Voici un extrait de ma requête :

$art = $db->query(
SELECT article.id, article.title, categories.name AS category
FROM articles
LEFT JOIN categories
ON category_1 = categories.id

)->fetchAll();


$db et query : ont été définis dans des classes.

Si une âme charitable pouvait me solutionner.

Merci
A voir également:

1 réponse

DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Bonjour,

je ne suis pas certaine mais essayez ceci

$art = $db->query(
SELECT article.id, article.title, categories.name AS category
FROM articles, categories
Where category_1 = categories.id
OR category_2 = categories.id

)->fetchAll();
0
J@rodd Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,
deja esayé cette requete et ne donne rien ou pas ce que je veux.

Mais j'ai pu trouver la solution ou plutoto on me la donner :
SELECT a.id, a.title,c1.name as category1, c2.name as category2
FROM article a
LEFT JOIN categories c1
ON c1.id = a.category_1
LEFT JOIN categories c2
ON c2.id = a.category_2

Elle donne bien le resultat que je veux et j'ai aussi découvert que faudra que je refait ma bdd^^

Merci de la réponse quand mêm
0