OVH Cloud OVH Cloud

2 outer join ?

2 réponses
Avatar
Yan
bonjour,

Ptite question SQL de base :
Est ce qu'on peut mettre 2 left outer join sur une même table ?

Par exemple, j'ai ça :

select T_WORD.*, RENV.ID,T_DEF.*, T_IMG_DEF.*
from
T_WORD left outer join RENV on RENV.ID = T_WORD.RENVOI


et j'aimerais faire, en plus de ce outer join, faire un
T_WORD left outer join T_SEE on T_SEE.ID = T_WORD.SEE_ID

comment ça se passe ? Je ne peux pas mettre les 2 outer join l'un au bout de
l'autre, je ne peux pas répéter T_WORD...

Pour être clair, je voidrais récupéerer :

-tous les enregistrements de T_WORD
-les enregistrements de RENV, si ils existent, dont le champ ID est = à
T_WORD:.RENVOI
-les enregistrements de T_SEE, si ils existent, dont le champ ID est = à
T_WORD.SEE_ID


merci !

a+

2 réponses

Avatar
Yan
bonjour,

c'est bon ! Je ne savais pas qu'on pouvait aligner les left outer join de
cette façon :)

Merci !

a+

lionelp wrote:
Bonjour,

Est-ce cela ? Dans cecas T_WORD est la table "pivot".

select T_WORD.*, RENV.ID,T_DEF.*, T_IMG_DEF.*
from T_WORD
left outer join RENV on RENV.ID = T_WORD.RENVOI
left outer join T_SEE on T_SEE.ID = T_WORD.SEE_ID

Cordialement,
LionelP


"Yan" ~~SP~~AMcom> wrote in message
news:
bonjour,

Ptite question SQL de base :
Est ce qu'on peut mettre 2 left outer join sur une même table ?

Par exemple, j'ai ça :

select T_WORD.*, RENV.ID,T_DEF.*, T_IMG_DEF.*
from
T_WORD left outer join RENV on RENV.ID = T_WORD.RENVOI


et j'aimerais faire, en plus de ce outer join, faire un
T_WORD left outer join T_SEE on T_SEE.ID = T_WORD.SEE_ID

comment ça se passe ? Je ne peux pas mettre les 2 outer join l'un au
bout de l'autre, je ne peux pas répéter T_WORD...

Pour être clair, je voidrais récupéerer :

-tous les enregistrements de T_WORD
-les enregistrements de RENV, si ils existent, dont le champ ID est
= à T_WORD:.RENVOI
-les enregistrements de T_SEE, si ils existent, dont le champ ID est
= à T_WORD.SEE_ID


merci !

a+




Avatar
lionelp
Bonjour,

Est-ce cela ? Dans cecas T_WORD est la table "pivot".

select T_WORD.*, RENV.ID,T_DEF.*, T_IMG_DEF.*
from T_WORD
left outer join RENV on RENV.ID = T_WORD.RENVOI
left outer join T_SEE on T_SEE.ID = T_WORD.SEE_ID

Cordialement,
LionelP


"Yan" ~~SP~~AMcom> wrote in message
news:
bonjour,

Ptite question SQL de base :
Est ce qu'on peut mettre 2 left outer join sur une même table ?

Par exemple, j'ai ça :

select T_WORD.*, RENV.ID,T_DEF.*, T_IMG_DEF.*
from
T_WORD left outer join RENV on RENV.ID = T_WORD.RENVOI


et j'aimerais faire, en plus de ce outer join, faire un
T_WORD left outer join T_SEE on T_SEE.ID = T_WORD.SEE_ID

comment ça se passe ? Je ne peux pas mettre les 2 outer join l'un au bout


de
l'autre, je ne peux pas répéter T_WORD...

Pour être clair, je voidrais récupéerer :

-tous les enregistrements de T_WORD
-les enregistrements de RENV, si ils existent, dont le champ ID est = à
T_WORD:.RENVOI
-les enregistrements de T_SEE, si ils existent, dont le champ ID est = à
T_WORD.SEE_ID


merci !

a+