Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Joins: Daten aus mehreren Tabellen abrufen » Explizite Join-Bedingungen (ON-Klausel)

 

Tabellen in einer ON-Klausel referenzieren

Die Tabellen, die in einer ON-Klausel referenziert werden, müssen Teil des Joins sein, den die ON-Klausel ändert. Folgende Anweisung ist z.B. ungültig:

FROM ( A KEY JOIN B ) JOIN ( C JOIN D ON A.x = C.x )

Das Problem ist hier, dass die Join-Bedingung A.x = C.x Tabelle A referenziert, die nicht Teil des Joins ist, den die Bedingung modifiziert (in diesem Fall C JOIN D).

Im ANSI/ISO-Standard SQL99 und in Adaptive Server Anywhere 7.0 gibt es jedoch eine Ausnahme zu dieser Regel: Wenn Sie Kommas zwischen den Tabellenausdrücken verwenden, kann eine ON-Bedingung eines Joins eine Tabelle referenzieren, die ihr syntaktisch in der FROM-Klausel vorausgeht. Folgende Anweisung ist daher gültig:

FROM (A KEY JOIN B) , (C JOIN D ON A.x = C.x)

Siehe auch: Schlüssel-Joins.

Weitere Hinweise zu Kommas finden Sie unter Kommas.

 Beispiel