IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

INNER JOIN multiple dans la même table ?


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut INNER JOIN multiple dans la même table ?
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    id_ville INT(11) auto-increment
    Intitule TINY TEXT
    La seconde table contient les éléments d’un trajet donné :
    table : trajets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    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 ?

    Ceci, bien sûr ne fonctionne pas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    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,

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    En utilisant des alias :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    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

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut Super!!!
    Super merci bien, c'est exactement ce qu'il me fallait et... je ne savais pas faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier un enregistrement dans une même table
    Par slammer dans le forum Langage SQL
    Réponses: 11
    Dernier message: 04/05/2010, 23h17
  2. Nls_lang : deux codage dans une même table
    Par Oraman dans le forum Oracle
    Réponses: 6
    Dernier message: 22/08/2006, 12h36
  3. Formulaires multiples pour la même table
    Par antoine46 dans le forum Access
    Réponses: 18
    Dernier message: 28/07/2006, 19h15
  4. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 16h18
  5. [SQL] Somme de 2 colonnes dans une même table
    Par Cyrilange dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/04/2005, 08h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo