Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ORA-00918 bei Join (https://www.delphipraxis.net/150758-ora-00918-bei-join.html)

Sidorion 26. Apr 2010 09:19

Datenbank: Oracle • Version: 9.2 • Zugriff über: Oracle SQL Developer, SQL+

ORA-00918 bei Join
 
Ich habe hier einen 918er, obwohl alle Spalten mbMn ordentlich referenziert werden. Das erste Statement funktioniert prima, beim zweiten und dritten Statement kommt der Fehler. Hierbei ist es egal, welche Spalte(n) ich von welcher Tabelle abfrage. Die gennannten Spalten existieren und sind richtig geschrieben.
Ich benutze Oracle 9.2 und greife mit dem von Oracle mitgelieferten SQL Developer zu. SQL+ bringt den gleichen Fehler. Beide nennen den Fehlerort unmittelbar hinter 'SELECT'. Ich nehme an, das Statement wird nicht ordentlich geparst.

Geht:
SQL-Code:
SELECT
  Z_VwKorrCstOrd.ArtNo ArtNo1,
  Z_VwKorrCstOrd.ArtVar ArtVar1,
  Z_VwKorrCstOrd.CustClnt CustClnt1,
  Z_VwRepSerial.ArtNo ArtNo2,
  Z_VwRepSerial.ArtVar ArtVar2,
  Z_VwRepSerial.CustClnt CustClnt2
FROM Z_VwKorrCstOrd
FULL JOIN Z_VwRepSerial ON Z_VwKorrCstOrd.ArtNo = Z_VwRepSerial.ArtNo
                        AND Z_VwKorrCstOrd.ArtVar = Z_VwRepSerial.ArtVar
                        AND Z_VwKorrCstOrd.CustClnt = Z_VwRepSerial.CustClnt
WHERE Z_VwRepSerial.ArtNo = '64437A41';
Orafehler 918:
SQL-Code:
SELECT
  Z_VwKorrCstOrd.ArtNo ArtNo1,
  Z_VwKorrCstOrd.ArtVar ArtVar1,
  Z_VwKorrCstOrd.CustClnt CustClnt1,
  Z_VwRepArtPos.ArtNo ArtNo3,
  Z_VwRepArtPos.ArtVar ArtVar3,
  Z_VwRepArtPos.CustClnt CustClnt3
FROM Z_VwRepArtPos
FULL JOIN Z_VwKorrCstOrd ON Z_VwKorrCstOrd.ArtNo =   Z_VwRepArtPos.ArtNo
                        AND Z_VwKorrCstOrd.ArtVar =  Z_VwRepArtPos.ArtVar
                        AND Z_VwKorrCstOrd.CustClnt = Z_VwRepArtPos.CustClnt
WHERE Z_VwRepArtPos.ArtNo = '64437A41';

SELECT
  Z_VwRepSerial.ArtNo ArtNo2,
  Z_VwRepSerial.ArtVar ArtVar2,
  Z_VwRepSerial.CustClnt CustClnt2,
  Z_VwRepArtPos.ArtNo ArtNo3,
  Z_VwRepArtPos.ArtVar ArtVar3,
  Z_VwRepArtPos.CustClnt CustClnt3
FROM Z_VwRepArtPos
FULL JOIN Z_VwRepSerial ON Z_VwRepSerial.ArtNo = Z_VwRepArtPos.ArtNo
                        AND Z_VwRepSerial.ArtVar = Z_VwRepArtPos.ArtVar
                        AND Z_VwRepSerial.CustClnt = Z_VwRepArtPos.CustClnt
WHERE Z_VwRepArtPos.ArtNo = '64437A41';
Kann mir bitte jemand sagen, was hier nicht eideutig definiert ist?
Danke.

p80286 26. Apr 2010 12:59

Re: ORA-00918 bei Join
 
Versuch es doch einmal so:

SQL-Code:
...
FULL JOIN Z_VwRepSerial ON (Z_VwKorrCstOrd.ArtNo = Z_VwRepSerial.ArtNo
                            AND Z_VwKorrCstOrd.ArtVar = Z_VwRepSerial.ArtVar
                            AND Z_VwKorrCstOrd.CustClnt = Z_VwRepSerial.CustClntL)
WHERE Z_VwRepSerial.ArtNo = '64437A41';
Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz