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

Langage SQL Discussion :

Requete croisant deux champs identiques


Sujet :

Langage SQL

  1. #1
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut Requete croisant deux champs identiques
    Bonjour,

    Voici mon cas :

    J'ai une table Villes

    N° Ville
    -- --
    1 Paris
    2 Marseille
    3 Bordeaux


    Une table qui gère des livraisons entre ces villes

    N° n_ville_départ n_ville_arrivée
    -- ---------------- -----------------
    1 1 2
    2 1 3
    3 2 3


    Je cherche a formuler une requete qui renverrait
    N°Livraison - nom_ville_départ - nom_ville_arrivée

    Dans mon exemple :

    1 Paris Marseille
    2 Paris Bordeaux
    3 Marseille Bordeaux


    Est-ce possible ? Pourriez-vous m'aider ?
    Merci
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT l.Numero, d.Ville, a.Ville
    FROM Livraison l INNER JOIN Ville d ON l.n_ville_depart  = d.Numero
                     INNER JOIN Ville a ON l.n_ville_arrivee = a.Numero
    Si ton moteur ne supporte pas la syntaxe INNER JOIN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT l.Numero, d.Ville, a.Ville
    FROM   Livraison l, Ville d, Ville a 
    WHERE  l.n_ville_depart  = d.Numero
      AND  l.n_ville_arrivee = a.Numero
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Merci beaucoup pour cette réponse nocturne.

    Dans Access j'ai du ecrire la double jointure comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT l.N°, d.Ville, a.Ville
    FROM Villes d INNER JOIN (Livraisons l INNER JOIN Villes a ON l.n_ville_arrivée = a.N°) ON l.n_ville_départ=d.N°;
    Sinon la deuxieme écriture fonctionne egalement.

    Merci encore
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Deux champs identiques dans la même table
    Par amne26 dans le forum Modélisation
    Réponses: 2
    Dernier message: 22/09/2008, 20h29
  2. [MySQL] Afficher valeur deux champs identiques
    Par Benzz dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/05/2008, 15h30
  3. [MySQL] sélectionner dans une table deux champs identiques
    Par zabdaniel dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/03/2008, 17h49
  4. Not In et Sous requete renvoyant deux champs
    Par ToTo13 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/03/2008, 16h39
  5. [MySQL] deux champs identiques
    Par Shredder dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/06/2006, 13h22

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