Eine verschachtelte Unterabfrage ist eine Unterabfrage, die in einer anderen Unterabfrage verschachtelt ist. Es gibt keine Beschränkung für die Stufen von Unterabfragen-Verschachtelungen, die Sie festlegen können, aber Abfragen mit drei oder mehr Stufen brauchen für die Ausführung deutlich länger als kleinere Abfragen.
Das folgende Beispiel verwendet verschachtelte Unterabfragen, um die Bestellungs-IDs und Zeilen-IDs von jenen Bestellungen zu bestimmen, die am selben Tag versandt wurden, an dem ein bestimmter Artikel in der Abteilung "Fees" bestellt wurde.
SELECT ID, LineID FROM SalesOrderItems WHERE ShipDate = ANY ( SELECT OrderDate FROM SalesOrders WHERE FinancialCode IN ( SELECT Code FROM FinancialCodes WHERE ( Description = 'Fees' ) ) ); |
ID | LineID |
---|---|
2001 | 1 |
2001 | 2 |
2001 | 3 |
2002 | 1 |
... | ... |
In diesem Beispiel erzeugt die innerste Unterabfrage eine Spalte mit Finanzcodes, deren Beschreibung "Fees" lautet.
SELECT Code FROM FinancialCodes WHERE ( Description = 'Fees' ); |
Die nächste Unterabfrage findet die Bestelldaten der Artikel, deren Code zu einem der in der innersten Unterabfrage ausgewählten Codes passen.
SELECT OrderDate FROM SalesOrders WHERE FinancialCode IN ( Unterabfragen_Ausdruck ); |
Schließlich findet die äußerste Abfrage die Bestellungs-IDs und Zeilen-IDs der Artikel, die an einem der Daten versandt wurde, die in der Unterabfrage gefunden wurden.
SELECT ID, LineID FROM SalesOrderItems WHERE ShipDate = ANY ( Unterabfragen_Ausdruck ); |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |