Liens entre trois tables

Résolu/Fermé
frites.saucisse Messages postés 10 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 16 octobre 2012 - 16 oct. 2012 à 10:23
frites.saucisse Messages postés 10 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 16 octobre 2012 - 16 oct. 2012 à 11:46
Bonjour,
J'ai trois tables t1, t2 et t3 comme ceci:
t1:
Id Para1
1 a
2 b
3 c

t2:
Id Para2
1 x
2 y

t3:
Id Para3
3 p

Comment écrire la requête pour obtenir le résultat suivant:
Id Para1 Para2 Para3
1 a x None
2 b y None
3 c None p

Un grand merci d'avance pour votre aide!

2 réponses

jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234
16 oct. 2012 à 10:49
Salut,

Il faut quelque chose comme :

SELECT t1.Id, Para1, Para2, Para3
FROM T1, T2, T3
LEFT OUTER JOIN T2 ON T1.ID = T2.ID
LEFT OUTER JOIN T3 ON T1.ID = T3.ID

cdlt
0
Utilisateur anonyme
16 oct. 2012 à 11:10
Bonjour

Petit détail, il ne faut pas répéter dans le FROM les tables qui sont dans les JOIN :
SELECT t1.Id, Para1, Para2, Para3 
FROM t1
LEFT OUTER JOIN t2 ON t1.Id = t2.Id 
LEFT OUTER JOIN t3 ON t1.Id = t3.Id
0
jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234
16 oct. 2012 à 11:24
merci ;-)

Écrire une requête sans l'exécuter n'est souvent pas bon pour moi. La syntaxe est rarement exacte du premier coup.
0
Utilisateur anonyme
16 oct. 2012 à 11:25
En fait, la syntaxe est correcte, mais la requête ne fait plus la même chose.
0
frites.saucisse Messages postés 10 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 16 octobre 2012
16 oct. 2012 à 11:13
Bonjour,
Merci pour cette réponse. J'ai fait

select t.Para1,u.Para2, v.Para3
from t1 t,t2 u, t3 v
left outer join t2 on t.pid = u.pid
left outer join t3 on t.pid = v.pid

et j'obtiens une combinatoire de tous les paramètres de style
1 a x p
1 a y p
2 a x p
2 a y p
etc.

pas de case avec None comme souhaité...
Comment y remédier?
0
Utilisateur anonyme
16 oct. 2012 à 11:18
Voir mon message précédent. Mais tu auras Null, pas None.
0
frites.saucisse Messages postés 10 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 16 octobre 2012
16 oct. 2012 à 11:46
Magnifique, ça marche. Merci pour vos réponses.
0