Transformation d'une requete avec des outer join
Bonjour, j'ai une requete imbriquée vraiment horrible, je fais d'abord un select sur une table, ensuite un select in sur cette table, et un troisieme select pour récupérer les colonnes dont j'ai besoin après traitement du second select et qui disparaissent a cause de lui:
étant completement dépassé par les jointures externes, j'ai tenté au petit bonheur la chance et après avoir lu le tutoriel sur les jointures de modifier mon code pour l'arranger, mais ca ne donne que de belles erreurs!
Mon code d'origine est celui-ci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| select libelle cval, code_plisin code_plisin, libelle, code_place, code_valeur
from Valeurs
where code_valeur in (select isin
from fininfo11
where fininfo11.isin in
(select distinct V.code_valeur
from valeurs V, fininfo02 F
where V.code_valeur = F.ISIN
and F.pl_cot_id = V.code_place
and F.mar_cot_id IN ('201', '202', '203','204'))
and pl_cot_id IN ('011', '025', '027','028' ,'029' , '030', '031', '032', '038', '051')
); |
Ca, ca me donne ce que je recherche
J'ai tenté des jointures à droite, à gauche, mais je ne sais même pas ce que je fais, c'est vraiment par pur désespoir que je le fais:
Code:
1 2 3 4 5 6 7
| SELECT V.libelle cval, V.code_plisin code_plisin, V.libelle, V.code_place, V.code_valeur FROM valeurs V, fininfo02 F
WHERE V.code_valeur = F.ISIN
and F.pl_cot_id = V.code_place
and F.mar_cot_id IN ('201', '202', '203','204')
and F.pl_cot_id IN ('011', '025', '027','028' ,'029' , '030', '031', '032', '038', '051')
right outer join fininfo11 ON
V.code_valeur = fininfo11.ISIN |
Et ca, ca me donne:
ORA-933 la commande ne se termine pas correctement
Bref, j'ai tourné ca n'importe comment, j'ai vraiment essayé de reproduire les exemples du tuto, mais rien à faire, je saisi pas le fonctionnement.
Je demande pas la solution, mais une explication de ce que je dois faire
Merci à ceux qui ont une idée de quoi faire :)