SQL SELECT sur 3 tables

Fermé
Cedo - 9 oct. 2011 à 03:28
 Cedo - 11 oct. 2011 à 16:21
Bonjour,

Est-ce quelqu'un peut me dire quelle est l'erreur (sont les erreurs) dans cette requête ?

SELECT t.* , r.* , i.nom_image
FROM topic as t
LEFT OUTER JOIN rubrique as r ON topic.rubrique_id = rubrique.rubrique_id
RIGHT OUTER JOIN images as i ON images.topic_id = topic.topic_id
WHERE topic.actif = 1 AND topic.blog = 1
ORDER BY topic_id DESC


On cherche des topics qui font partie d'une rubrique et qui ont des images.

J'ai donc 3 tables topic , rubrique , images.

Je cherche à récupérer les topics, leur rubrique (titre, id..) et leur image (nom_image )...

Ca ne marche pas !

Ca marchait avec une jointure simple sur 2 tables topic et rubrique.. Si je cherche à ré"cupérer les images ça plante..

Help !

Merci


A voir également:

1 réponse

bonjour,

Vous auriez eu sans doute plus de réponses sur le forum base de données.

D'après la demande, INNER JOIN conviendrait mieux ( outer permettant de 'récupérer' des éléments n'ayant pas de correspondance dans les deux tables):

SELECT t.* , r.* , i.nom_image
FROM images as i
INNER  JOIN (rubrique as r INNER  JOIN topic as t ON t.rubrique_id = r.rubrique_id) ON t.topic_id = i.topic_id
WHERE t.actif = 1
AND t.blog = 1
ORDER BY topic_id DESC 


Pas testé, mais l'esprit est là

Bonne suite
1
yesss merci beaucoup je vais tester ça.
0
C'est parfait. Merci beaucoup !
0