Requete SQL sur 2 tables JOINTURES [Résolu/Fermé]

Signaler
Messages postés
39
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
26 octobre 2015
-
Messages postés
39
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
26 octobre 2015
-
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

1 réponse

Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
1 503
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();
Messages postés
39
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
26 octobre 2015

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