Left join avec plusieurs tables

Résolu/Fermé
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 15 janv. 2019 à 15:55
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 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 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
15 janv. 2019 à 16:56
Bonjour

left join tab3 c on b
Id = c.id 


0
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 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 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
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