Bonjour,

faire une jointure externe suivi d'une liste n'est pas possible, par exemple :

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 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 (+) = (decode, col1, 'A', 1, 'B', 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
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