Bonjour,
faire une jointure externe suivi d'une liste n'est pas possible, par exemple :
Maintenant j'ai procédé de cette façon pour arriver à ce que je voulais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select * from table t where t.col (+) in (1,2,3)
Maintenant tout se complique parce que j'ai remplacé mon decode par un when case plus simple a lire et surtout plus souple, admettons :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select * from table t where t.col (+) = (decode, col1, 'A', 1, 'B', 2, 3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT * FROM table t, table2 t2, table t3 WHERE t.id = t2.id (+) AND t.col = t3.col AND t.id (+) = case WHEN t = 'A' AND t3 = 'B' then 'TOTO' WHEN t = 'A' AND t3 = 'C' then 'TATA' ELSE 'TOTA' END
du coup forcément, ca marche pas...apparemment je ne px pas faire de jointure externe sur plus d'une table (normal) mais c'est valable même lorsque l'on procède par when case ?
Existe-t-il une solution, hormis celle ou je dois faire des sous requetes...mon but étant de le faire en une requete...c'est possible ?
Merci de votre aide,
Sai
Partager