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 :

Requête SQL entre deux tables


Sujet :

Langage SQL

  1. #1
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut Requête SQL entre deux tables
    Bonjour,

    Je suis bloqué sur une requête SQL (je suis sur une base de données hébergée sur SQL Serveur 2008), et j’espère que vous pourrez m'aider. J'ai une table

    tblMove
    IdMove
    IdActualBuilding
    IdNextBuilding
    etc...

    et une table

    tblBuilding
    IdBuilding
    BuildingName
    IdCountry

    Je voudrais faire un select de ma table move qui m'afficherait le "BuildingName" à la place de l'IdActualBuilding et de IdNextBuilding, mais je ne vois pas comment faire.

    J'espère que mon problème est assez clair et que quelqu'un pourra m'aider

    Cordialement.

    DeWaRs

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    En réalisant une jointure, dont un cours se trouve ici.

  3. #3
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Merci de ta réponse. Cependant, est-il possible de faire deux jointures distinctes sur une même table ? Car dans mon cas, IdActualBuilding et IdNextBuilding peuvent être différents.

    Cordialement.

    DeWaRs

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Citation Envoyé par DeWaRs Voir le message
    Merci de ta réponse. Cependant, est-il possible de faire deux jointures distinctes sur une même table ? Car dans mon cas, IdActualBuilding et IdNextBuilding peuvent être différent.

    Cordialement.

    DeWaRs
    heu j'ai du mal à comprendre ...

    Tu peux faire une jointure entre n'importe quel champs (si le type est le même - et encore ) mais est ce que cela est pertinent pour ton problème, et ça, c'est autre chose .Il faut quand même qu'il y ait une relation entre elles...

    Quelle est la question (en dehors du problème de SQL) ?
    Quelles sont les clés primaires et étrangères ?

  5. #5
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Bonjour,

    Merci encore d'essayer de m'aider. En fait, ma table tblBuilding a pour clé primaire IdBuilding et ma table tblMove a pour clé primaire IdMove.

    L'idée est que les champs IdActualBuilding et IdNextbuilding sont égaux chacun à une valeur de IdBuilding dans la table tblBuilding.
    Quand je fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select tblMove.IdActualBuidling, tblMove.IdNextbuilding from tblMove
    je voudrais non par récupérer le IdActualBuilding / IdNextBuilding mais le BuildingName correspondant à l'IdActualBuilding / IdNextBuilding.

    Je ne sais pas si c'est plus clair :s

    Cordialement

    DeWaRs

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    pas sur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Reel.BuildingName,  tblMove.IdActualBuidling, tblMove.IdNextbuilding 
       FROM tblMove
          INNER JOIN tblBuilding Reel on reel.IdBuilding = tblMove.IdActualBuidling
    Quelque chose comme cela ???

  7. #7
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Il suffit de faire 2 jointures sur la table tblBuilding, la première portant sur IdActualBuilding et la deuxième portant sur IdNextBuilding :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT m.idMove, b1.BuildingName AS ActualName, b2.BuildingName AS NextName
    FROM tblMove m
    INNER JOIN tblBuilding b1 ON m.IdActualBuilding  = b1.IdBuilding
    INNER JOIN tblBuilding b2 ON m.IdNextBuilding  = b2.IdBuilding

  8. #8
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Citation Envoyé par ced Voir le message
    Bonjour,

    Il suffit de faire 2 jointures sur la table tblBuilding, la première portant sur IdActualBuilding et la deuxième portant sur IdNextBuilding :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT m.idMove, b1.BuildingName AS ActualName, b2.BuildingName AS NextName
    FROM tblMove m
    INNER JOIN tblBuilding b1 ON m.IdActualBuilding  = b1.IdBuilding
    INNER JOIN tblBuilding b2 ON m.IdNextBuilding  = b2.IdBuilding
    Parfait, c'est tout à faire ça ! Il est donc possible de faire une jointure deux fois sur la même table

    Cordialement

    DeWaRs

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

Discussions similaires

  1. requête sql sur deux tables
    Par canacana dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/02/2010, 18h37
  2. [AC-2003] Requête égalité entre deux tables non liées.
    Par Thotho-Maxime dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/07/2009, 09h14
  3. Requête sql entre deux tables
    Par jojo86 dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/02/2008, 19h19
  4. Requette SQL entre deux tables !
    Par younes371 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/01/2007, 15h57
  5. [SQL] Problème avec script de pagination et requête sql sur deux tables
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h06

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