Page 1 sur 1

INNER JOIN MULTIPLE SUR LA MÊME TABLE?

Posté : 13 févr. 2013, 14:27
par Paulux1
Bonjour,

Je me sèche sur mon projet…

J’ai dans une base MySQL deux tables que je dois interroger simultanément dans une requête SELECT.
La première table contient une liste de villes

table : villes
id_ville INT(11) auto-increment
Intitule TINY TEXT
La seconde table contient les éléments d’un trajet donné :
table : trajets
id_trajet INT(11) auto-increment
id_depart INT(11)
id_destination INT(11)
Je voudrais qu’en une requête, je puisse afficher en même temps l’intitulé de départ et celui de la destination.
J’essai la requête suivante :
SELECT villes.intitule AS depart
FROM trajets
INNER JOIN villes ON villes.id_ville = trajets.id_depart
WHERE trajets.id_trajet = 1
Bien sûr, elle fonctionne mais comment puis-je ajouter la ville d’arrivée ?

...en revanche, ceci ne fonctionne pas !
SELECT villes.intitule AS depart,villes.intitule AS destination
FROM trajets
INNER JOIN villes ON villes.id_ville = trajets.id_depart
INNER JOIN villes ON villes.id_ville = trajets.id_destination
WHERE trajets.id_trajet = 1
Quelqu'un saurait me guider? Est-ce que cela est réalisable?

Merci par avance pour votre aide, :wink:

Re: INNER JOIN MULTIPLE SUR LA MÊME TABLE?

Posté : 13 févr. 2013, 15:18
par Paulux1
J'ai eu la réponse par ailleurs...
SELECT v1.intitule AS depart,v2.intitule AS destination
  FROM trajets t
  JOIN villes v1 ON v1.id_ville = t.id_depart
  JOIN villes v2 ON v2.id_ville = t.id_destination
 WHERE t.id_trajet = 1
Si cela peut servir à d'autres....
Bonne journée,

Re: [RESOLU] INNER JOIN MULTIPLE SUR LA MÊME TABLE?

Posté : 07 avr. 2014, 11:07
par ptrau
merci, l'exemple est simple et efficace