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

Messages postés
39
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
26 octobre 2015
- - Dernière réponse : J@rodd
Messages postés
39
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
26 octobre 2015
- 16 oct. 2015 à 10:45
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
Afficher la suite 

1 réponse

Messages postés
2117
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
20 octobre 2019
1021
0
Merci
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();
J@rodd
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