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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] INNER JOIN MULTIPLE SUR LA MÊME TABLE?

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

par ptrau » 07 avr. 2014, 11:07

merci, l'exemple est simple et efficace

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

par Paulux1 » 13 févr. 2013, 15:18

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,

INNER JOIN MULTIPLE SUR LA MÊME TABLE?

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

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: