Left join avec plusieurs tables

Résolu/Fermé
JsuisNul
Messages postés
118
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
21 décembre 2021
- 15 janv. 2019 à 15:55
jordane45
Messages postés
36090
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 août 2022
- 15 janv. 2019 à 18:06
Bonjour,

J'ai une requête que j'aimerai transformer avec une jointure.

ma requête est constitué comme ceux-ci :

select a.info, c.donnée from tab1 a, tab2 b, tab3 c where a.donnée=b.donnée and b.id = c.id

j'ai le début mais pas la fin car je ne vois pas comment relier ma tab3 avec tab 2

select a.info , c.donnée from tab1 a left join tab2 b on a.donnée = b.donnée....

Merci d'avance pour votre aide

Configuration: Windows / Chrome 71.0.3578.98

1 réponse

jordane45
Messages postés
36090
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 août 2022
4 296
15 janv. 2019 à 16:56
Bonjour

left join tab3 c on b
Id = c.id 


0
JsuisNul
Messages postés
118
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
21 décembre 2021
1
Modifié le 15 janv. 2019 à 17:49
Merci Jordan.

select a.info , c.donnée from tab1 a left join tab2 b on a.donnée = b.donnée left join tab3 c on b
Id = c.id

J'ai testé mais ça à l'air de tourner en boucle...

Pour être sur que je me suis bien exprimé, mon left join je veux le faire uniquement entre la tab1 et le couple tab2 et tab3 en sachant que je veux afficher toutes les données de la tab1 avec ceux de la tab3 s'il existe...
0
jordane45
Messages postés
36090
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 août 2022
4 296
15 janv. 2019 à 18:06
On est bien d'accord que ta première requete
select a.info, c.donnée from tab1 a, tab2 b, tab3 c where a.donnée=b.donnée and b.id = c.id

fonctionne ??

Si oui, elle revient à écrire :
SELECT a.info,
             c.donnée 
FROM tab1 a
LEFT JOIN  tab2 b  ON  a.donnée = b.donnée
LEFT JOIN tab3 c ON  b.id = c.id


PS: Par contre n'utilise pas de caractères accentué ni dans le nom de tes tables, ni dans le nom des champs.

Si ça ne fonctionne pas, pense à nous montrer la structure de tes tables et éventuellement de nous fournir un DUMP.
Précises nous également quel version d'oracle tu utilises...
0