Einzelnen Beitrag anzeigen

Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#1

ORA-00918 bei Join

  Alt 26. Apr 2010, 10:19
Datenbank: Oracle • Version: 9.2 • Zugriff über: Oracle SQL Developer, SQL+
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.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat