|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : juin 2005 Messages : 269 ![]() |
Bonjour,
Je travaille avec ODI et des bases oracles. J'ai un problème avec les jointures externe réalisées par ODI, qui utilise les (+) dans le WHERE de ma commande SQL. Dans mon interface, j'ai besoin que deux tables différentes pointent toutes les deux vers une troisième table en jointure externe. (remarque : mes deux première tables sont par ailleurs liées entre elles) Ce genre d'interface ODI génère le code suivant, dans cet exemple ou j'ai trois tables : Les deux lignes en gras sont celles qui créées l'erreur. Code :
ORA-01417: une table ne peut être de jointure externe que pour une seule table Alors que si je fais la requête moi même en utilisant un left join, cela fonctionne. Voici la requête que je créé moi même, équivalente, et qui ne pose pas de problème à oracle. Code :
Ou y a t'il un moyen de contourner ce problème lorsqu'on veut joindre trois tables ensemble avec deux jointures externe en provenance de deux tables différentes vers une même table ? Merci, Tata |
||||
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Chef de projet NTIC Inscription : octobre 2004 Messages : 1 147 ![]() |
Bonjour,
Personnellement j'avoue ne pas comprendre pourquoi cette double jointure externe sur 2 tables. La jointure entre table 1 et table 2 renvoi les lignes communes entre les deux tables. Donc ne suffit il pas juste de faire une jointure externe entre la 3ieme table et la table 1 ou 2 ? Sinon Je pense qu'il te faut passer par une étape intermédiaire , comme une vue par exemple avec table 1 et table 2 , ou une table temporaire. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com