SQL SELECT sur 3 tables
Cedo
-
Cedo -
Cedo -
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
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:
- SQL SELECT sur 3 tables
- Ai suite 3 - Télécharger - Optimisation
- Tables des matières word - Guide
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Please select boot device ✓ - Forum Windows
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):
Pas testé, mais l'esprit est là
Bonne suite
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
Cedo
yesss merci beaucoup je vais tester ça.
Cedo
C'est parfait. Merci beaucoup !