Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/09/2011, 10h30   #1
Débutant
 
Inscription : mars 2008
Messages : 812
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 812
Points : 105
Points : 105
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
sky88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 11h22   #2
Membre éclairé
 
Avatar de boussafi
 
Homme
Ingénieur développement logiciels
Inscription : septembre 2007
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 342
Points : 397
Points : 397
Envoyer un message via Yahoo à boussafi Envoyer un message via Skype™ à boussafi
si j'ai compris:
Code :
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 :
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'
boussafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 11h46   #3
Débutant
 
Inscription : mars 2008
Messages : 812
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 812
Points : 105
Points : 105
Merci
sky88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h13.


 
 
 
 
Partenaires

Hébergement Web