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 :

condition dans une jointure


Sujet :

Langage SQL

  1. #1
    Débutant  
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Points : 170
    Points
    170
    Par défaut condition dans une jointure
    Bonjour à tous

    j'ai deux tables identiques
    tab1 (ID1, nom, poste, type)
    tab2 (ID1, nom, poste, type)

    ma 3eme table
    tab3 (ID, ID1, Cause)

    je veux faire une requête qui affiche:

    (ID, ID1, nom, poste, cause)
    comment je peux faire une jointure et une condition en même temps pour récuperer les données de ma table tab1 si type = interne
    et de ma table tab2 si le type =externe

    Merci

  2. #2
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    si j'ai compris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select C.ID, A.ID1, 
    case 
    when A.type ='interne' then A.NOM||' , '||A.NOM||' , '||A.POSTE 
    when B.type ='externe' then B.NOM||' , '||B.NOM||' , '||B.POSTE 
    end,
     
     C.cause 
    from tab1 A,tab2 B,tab3 C
    where A.ID1 = B.ID1
    and B.ID1 = C.ID1
    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select C.ID,C.cause , C.ID1, A.NOM,A.NOM,A.POSTE
    from z_tab1 A,z_tab3 C
    where A.ID1 = C.ID1
    and  A.type ='interne'
     
    union
     
    select C.ID,C.cause , C.ID1, B.NOM,B.NOM,B.POSTE
    from z_tab2 B,z_tab3 C
    where B.ID1 = C.ID1
    and  B.type ='externe'

  3. #3
    Débutant  
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Points : 170
    Points
    170
    Par défaut
    Merci

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

Discussions similaires

  1. Peut on insérer une condition dans une requête ?
    Par MITCH31 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 22/09/2005, 18h26
  2. Ordre d'exécution dans une jointure externe
    Par Pero dans le forum Langage SQL
    Réponses: 17
    Dernier message: 20/09/2005, 12h22
  3. Réponses: 6
    Dernier message: 17/08/2005, 12h38
  4. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13
  5. Condition dans une requête
    Par fdloisel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2004, 16h55

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