ORACLE SQL
Hallo in die Runde,
mal eine Frage, ich hab da ein älteres SQL-Script das derzeit gut läuft aber etwas performance-lastig ist. Wollte ich nun überarbeiten, hierbei stoße ich auf diese Zeile:
WHERE
ATOUR.NR (+) = ATASEND.TOURNR
soweit mir bekannt, ist das ja nichts anderes wie ein RIGHT OUTER JOIN - also so umgesetzt:
RIGHT OUTER JOIN ATOUR
ON ATASEND.TOURNR = ATOUR.NR
Lass ich die Abfrage nun laufen, erhalte ich aber die Fehlermeldung: ORA-00904: "ATASEND"."TOURNR": ungültige ID
Kann aber eigentlich ja keine falsche ID sein, denn mit diesem Wert über die WHERE-Klausel läuft es ja ohne Fehler.
Hab ich da einen Denkfehler, oder kann man diese WHERE (+)-Klausel nicht mit einer JOIN-Klausel umsetzen?
mal eine Frage, ich hab da ein älteres SQL-Script das derzeit gut läuft aber etwas performance-lastig ist. Wollte ich nun überarbeiten, hierbei stoße ich auf diese Zeile:
WHERE
ATOUR.NR (+) = ATASEND.TOURNR
soweit mir bekannt, ist das ja nichts anderes wie ein RIGHT OUTER JOIN - also so umgesetzt:
RIGHT OUTER JOIN ATOUR
ON ATASEND.TOURNR = ATOUR.NR
Lass ich die Abfrage nun laufen, erhalte ich aber die Fehlermeldung: ORA-00904: "ATASEND"."TOURNR": ungültige ID
Kann aber eigentlich ja keine falsche ID sein, denn mit diesem Wert über die WHERE-Klausel läuft es ja ohne Fehler.
Hab ich da einen Denkfehler, oder kann man diese WHERE (+)-Klausel nicht mit einer JOIN-Klausel umsetzen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 671846
Url: https://administrator.de/forum/oracle-sql-671846.html
Ausgedruckt am: 10.03.2025 um 14:03 Uhr
5 Kommentare
Neuester Kommentar