Bonjour à tous,
j'ai besoin de traduire une requete SQL de MsAccess en SQL pour Oracle 8i. La plupart du temps, cela demande que très peu de changement, mais j'ai une grosse requete et je n'arrive pas du tout à comprendre l'erreur qui Oracle me retourne :
ORA-01719: outer join operator (+) not allowed in operand of OR or IN
Voici ma requete :
SELECT
usreldbplus1.SAINT AS USRELDB_SAINT,
usreldbplus1.SAEXT,
usrelusproddoss.BEARBEITERKONSTR,
usrelusproddoss.CHBEARBEITERPROD,
usreldbplus1.ANR,
usreldbplus1.IPOS,
usreldbplus1.DOSSIER,
usreldbplus1.MNR,
usrelac1.KTXT AS USRELAC_KTXT,
usrelfirma1.NAME,
usreldbplus1.KOMM,
usreldbplus1.AGNR,
usreldbplus1.KTXT AS USRELDB_KTXT,
usreldbplus1.UTNR,
usrelac2.KTXT AS USRELAC_1_KTXT,
usreldbplus2.ZUST,
usreldbplus2.ANRWS,
usreldbplus2.ZDESC,
usreldbplus1.MENG_4,
usreldbplus1.ME,
usrelac2.ME AS ME_A,
usreldbplus1.DAUER_4,
usreldbplus2.TERM_4 AS Del,
usreldbplus2.LAGER,
usrelusproddoss.DOSSIERKTXT
FROM
USRELDBPLUS usreldbplus1,
USRELDBPLUS usreldbplus2,
USRELAC usrelac1,
USRELFIRMA usrelfirma1,
USRELAC usrelac2,
USRELUSPRODDOSS usrelusproddoss
WHERE
((((
usreldbplus1.ANR = usreldbplus2.ANR) AND
usreldbplus1.MNR = usrelac1.MNR(+) ) AND
usreldbplus1.MNR = usrelfirma1.FIRMANR(+) ) AND
usreldbplus1.UTNR = usrelac2.MNR(+) ) AND
usreldbplus1.DOSSIER = usrelusproddoss.DOSSIERNR(+) AND
usreldbplus1.SAINT='60' OR usreldbplus1.SAINT ='115' AND
usreldbplus1.ANR NOT Like 'OF*' AND
usreldbplus2.ANRWS<>'60' AND usreldbplus2.ANRWS<>'70' AND
usreldbplus2.ZDESC NOT Like 'ENTRÉ' AND
usreldbplus2.SAINT='10' AND
usrelusproddoss.SAINT='10'
ORDER BY
usreldbplus1.ANR,
usreldbplus1.IPOS
L'erreur pointe vers le '=' des jointures
Merci d'avance de m'aider !
Kary-Boo
Partager