Transformation de jointure =(+) en OUTER JOIN
Bonjour,
j'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
SELECT F.NUM_FPA, F.COD_ETA_FPA, C.NUM_CLI, EE.LIB_ETA_ECH,
F.COD_NAT_CPT, TF.LIB_TYP_FPA, EF.LIB_ETA_FPA, E.COD_ETA_ECH,
F.COD_ITV_CRE, I1.NOM_ITV, F.COD_ITV_ANU,
I2.NOM_ITV, F.COD_MTF, M.LIB_MTF
FROM FPA F, ECH E, FAC_CLI_FPA FCF, CPT_CLI C, TYP_FPA TF,
ETA_FPA EF, ITV I1, ITV I2, MTF M, ETA_ECH EE, CAR_ITV CI
WHERE F.NUM_FPA = E.NUM_FPA
AND F.NUM_FPA = FCF.NUM_FPA
AND FCF.NUM_CPT_CLI = C.NUM_CPT_CLI
AND F.COD_TYP_FPA = TF.COD_TYP_FPA
AND F.COD_ETA_FPA = EF.COD_ETA_FPA
AND F.COD_ITV_CRE = I1.COD_ITV
AND F.COD_ITV_ANU = I2.COD_ITV(+)
AND I1.COD_ITV = CI.COD_ITV(+)
AND F.COD_MTF = M.COD_MTF(+)
AND E.COD_ETA_ECH = EE.COD_ETA_ECH
AND autres_conditions ... |
Est -il correct de le transformer comme suit ??
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
SELECT F.NUM_FPA, F.COD_ETA_FPA, C.NUM_CLI, EE.LIB_ETA_ECH,
F.COD_NAT_CPT, TF.LIB_TYP_FPA, EF.LIB_ETA_FPA, E.COD_ETA_ECH,
F.COD_ITV_CRE, I1.NOM_ITV, F.COD_ITV_ANU,
I2.NOM_ITV, F.COD_MTF, M.LIB_MTF
FROM FPA F
INNER JOIN ECH E ON F.NUM_FPA = E.NUM_FPA
INNER JOIN FAC_CLI_FPA FCF ON F.NUM_FPA = FCF.NUM_FPA
INNER JOIN CPT_CLI C ON FCF.NUM_CPT_CLI = C.NUM_CPT_CLI
INNER JOIN TYP_FPA TF ON F.COD_TYP_FPA = TF.COD_TYP_FPA
INNER JOIN ETA_FPA EF ON F.COD_ETA_FPA = EF.COD_ETA_FPA
INNER JOIN ITV I1 ON F.COD_ITV_CRE = I1.COD_ITV
LEFT OUTER JOIN ITV I2 ON F.COD_ITV_ANU = I2.COD_ITV
LEFT OUTER JOIN MTF M ON F.COD_MTF = M.COD_MTF
INNER JOIN ETA_ECH EE ON E.COD_ETA_ECH = EE.COD_ETA_ECH
LEFT OUTER JOIN CAR_ITV CI ON I1.COD_ITV = CI.COD_ITV
WHERE autres_conditions ... |
C'est plus précisément la partie en gras dont je ne suis pas vraiment sûr :?
Merci pour vos réponses