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 :

Jointure de 3 tables avec un champ commun


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Jointure de 3 tables avec un champ commun
    Bonjour,

    Voilà, j'ai 3 tables dans lesquelles je vais choper diverses informations,
    chaque table a pour champ commun le code ingénieur: "codeing"

    Les 3 tables sont :

    formulaire_bd
    formulaire_gap
    formulaire_rrh

    J'ai pour le moment reussi à lier 2 tables sur 3, voici mon code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM formulaire_bd f_bd
    LEFT JOIN formulaire_gap f_gap ON f_bd.codeing=f_gap.codeing
    WHERE f_bd.bd = '$bd1' OR f_bd.bd = '$bd2' OR f_bd.bd = '$bd3'
    AND f_bd.date_fin_contrat > '".$date_periode1."' 
    AND f_bd.date_fin_contrat < '".$date_periode2."' 
    ORDER BY f_bd.nom


    je souhaite pouvoir ajouter à ma requete la 3eme table ("formulaire_rrh") pour y prendre une information, j'ai essayé avec un UNION, mais je n'y parviens pas, qqn sait-il comment faire?

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    1 / Regarde les tutoriaux sur le SQL



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select  Tab1.id_clef, Tab1.C1,Tab1.C2,Tab2.C1,Tab3.C1 .....
    From Tab1,Tab2,Tab3
    Where Tab1.id_clef = Tab2.id_clef
    And Tab1.id_clef = Tab3.id_clef
    Signé : Capitaine Jean-Luc Picard

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Points : 84
    Points
    84
    Par défaut Une solution
    Bonjour,
    Voici une solution

    SELECT *
    FROM formulaire_bd f_bd
    LEFT JOIN formulaire_rrh f_rrh ON f_bd.codeing=f_rrh.codeing
    LEFT JOIN formulaire_gap f_gap ON f_bd.codeing=f_gap.codeing
    WHERE f_bd.bd = '$bd1' OR f_bd.bd = '$bd2' OR f_bd.bd = '$bd3'
    AND f_bd.date_fin_contrat > '".$date_periode1."'
    AND f_bd.date_fin_contrat < '".$date_periode2."'
    ORDER BY f_bd.nom

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Solution simple
    Essayer cette solution

    SELECT *
    FROM formulaire_bd f_bd,formulaire_rrh f_rrh,formulaire_gap f_gap
    WHERE
    (f_bd.codeing=f_rrh.codeing and f_bd.codeing=f_gap.codeing)
    AND
    (f_bd.bd = '$bd1' OR f_bd.bd = '$bd2' OR f_bd.bd = '$bd3' )
    AND
    (f_bd.date_fin_contrat > '".$date_periode1."' AND
    f_bd.date_fin_contrat < '".$date_periode2."' )
    ORDER BY f_bd.nom

    bonne chance.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/09/2013, 10h07
  2. Jointure avec deux champs communs sur deux tables
    Par HAbroc dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/09/2009, 09h26
  3. Jointure entre 2 tables avec des champs de types différents
    Par qltmi dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/11/2008, 20h58
  4. fusion de table avec un champ en commun
    Par chamoix dans le forum Access
    Réponses: 3
    Dernier message: 13/12/2006, 23h18
  5. [arborescence] jointure d'une table avec elle même ?
    Par Celelibi dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/11/2004, 18h48

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