SQL unter Oracle

hallo,

hab ein Problem mit einer SQL-Afrage unter Oracle. Ich habe eine SQL-Anweisung unter Access mit einem Inner Join und einem Left Join erstellt. Da Oracle aber leider erst am Version9 Joins unterstützt, mußte ich die Anweisung umschreiben. Der Inner Join ist auch kein Problem, aber der Left Join. Vielleicht hat ja jemand nen heißen Tipp.

ACCESS:

SELECT DISTINCT SCOTT_FACHUMFANG02.SEM, SCOTT_FACH02.LFDNR, SCOTT_FACH02.NAME, SCOTT_FACHUMFANG02.MKUERZEL, SCOTT_MODUL02.VL, SCOTT_MODUL02.UB, SCOTT_MODUL02.PR, SCOTT_PRUEFUNGSNACHWEIS02.PRUEFKZ
FROM SCOTT_MODUL02 INNER JOIN (SCOTT_FACH02 INNER JOIN (SCOTT_FACHUMFANG02 LEFT JOIN SCOTT_PRUEFUNGSNACHWEIS02 ON (SCOTT_FACHUMFANG02.SEM = SCOTT_PRUEFUNGSNACHWEIS02.SEM) AND (SCOTT_FACHUMFANG02.LFDNR = SCOTT_PRUEFUNGSNACHWEIS02.LFDNR) AND (SCOTT_FACHUMFANG02.SKUERZEL = SCOTT_PRUEFUNGSNACHWEIS02.SKUERZEL)) ON SCOTT_FACH02.LFDNR = SCOTT_FACHUMFANG02.LFDNR) ON SCOTT_MODUL02.MKUERZEL = SCOTT_FACHUMFANG02.MKUERZEL
WHERE (((SCOTT_FACH02.SKUERZEL)=„AII“) AND ((SCOTT_FACHUMFANG02.SKUERZEL)=„AII“))
ORDER BY SCOTT_FACH02.LFDNR;

ORACLE:

SELECT DISTINCT SCOTT_FACHUMFANG02.SEM, SCOTT_FACH02.LFDNR, SCOTT_FACH02.NAME, SCOTT_FACHUMFANG02.MKUERZEL, SCOTT_MODUL02.VL, SCOTT_MODUL02.UB, SCOTT_MODUL02.PR, SCOTT_PRUEFUNGSNACHWEIS02.PRUEFKZ

FROM SCOTT_MODUL02, SCOTT_FACH02,
( SELECT * FROM SCOTT_FACHUMFANG02, SCOTT_PRUEFUNGSNACHWEIS02 WHERE (SCOTT_FACHUMFANG02.SEM = SCOTT_PRUEFUNGSNACHWEIS02.SEM(+)) AND (SCOTT_FACHUMFANG02.LFDNR = SCOTT_PRUEFUNGSNACHWEIS02.LFDNR(+)) AND (SCOTT_FACHUMFANG02.SKUERZEL = SCOTT_PRUEFUNGSNACHWEIS02.SKUERZEL(+)))

WHERE (((SCOTT_FACH02.LFDNR)=[SCOTT_FACHUMFANG02].[LFDNR]) AND ((SCOTT_MODUL02.MKUERZEL)=[SCOTT_FACHUMFANG02].[MKUERZEL]) AND ((SCOTT_FACH02.SKUERZEL)=„AII“) AND ((SCOTT_FACHUMFANG02.SKUERZEL)=„AII“))

ORDER BY SCOTT_FACH02.LFDNR;

hi!

ähm, könnte ungefähr folgende version funktionieren (oder hab ich irgendwas übersehen)?

SELECT DISTINCT SCOTT_FACHUMFANG02.SEM, SCOTT_FACH02.LFDNR,
SCOTT_FACH02.NAME, SCOTT_FACHUMFANG02.MKUERZEL,
SCOTT_MODUL02.VL, SCOTT_MODUL02.UB, SCOTT_MODUL02.PR,
SCOTT_PRUEFUNGSNACHWEIS02.PRUEFKZ
FROM SCOTT_MODUL02,
SCOTT_FACH02,
SCOTT_FACHUMFANG02,
SCOTT_PRUEFUNGSNACHWEIS02
WHERE SCOTT_FACHUMFANG02.SEM = SCOTT_PRUEFUNGSNACHWEIS02.SEM(+)
AND SCOTT_FACHUMFANG02.LFDNR = SCOTT_PRUEFUNGSNACHWEIS02.LFDNR(+)
AND SCOTT_FACHUMFANG02.SKUERZEL = SCOTT_PRUEFUNGSNACHWEIS02.SKUERZEL(+)
AND SCOTT_FACH02.LFDNR=SCOTT_FACHUMFANG02.LFDNR
AND SCOTT_MODUL02.MKUERZEL=SCOTT_FACHUMFANG02.MKUERZEL
AND SCOTT_FACH02.SKUERZEL=„AII“
AND SCOTT_FACHUMFANG02.SKUERZEL=„AII“
ORDER BY SCOTT_FACH02.LFDNR;

du siehst: wenig veränderungen …

grüße,
tomh