ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Externe Daten verarbeiten →  ABAP-Datenbankzugriffe →  Open SQL →  Open SQL - Lesende Zugriffe →  SELECT →  SELECT - WHERE →  WHERE - sql_cond → 

sql_cond - subquery

Kurzreferenz

Syntax

... ( SELECT { select_clause
               FROM source }
            |{ FROM source
               FIELDS select_clause }
               [WHERE sql_cond]
               [GROUP BY group] [HAVING group_cond]
               [UNION [ALL|DISTINCT] select] ) ...

Wirkung

Eine Subquery der WHERE-Bedingung ist eine eingeklammerte SELECT-Anweisung, in der alle Zusätze außer SINGLE, USING CLIENT, ORDER BY, INTO und die unter additional_options zusammengefassten Zusätze verwendet werden können. Die automatische Mandantenbehandlung der eingeklammerten SELECT-Anweisung richtet sich nach der Mandantenbehandlung der äußeren Anweisung. Ein Zusatz USING CLIENT der äußeren Anweisung wirkt auch auf die eingeklammerte SELECT-Anweisung.

Eine Subquery kann innerhalb folgender relationaler Ausdrücke sql_cond der WHERE-Bedingung für eine Unterabfrage verwendet werden:

Subqueries sind schachtelbar, indem in der WHERE-Bedingung einer Subquery wiederum Subqueries verwendet werden. In geschachtelten Subqueries werden die in den WHERE-Bedingungen angegebenen Spalten von innen nach außen gesucht, wobei die Spalten von inneren Subqueries die gleichnamigen Spalten von äußeren verdecken.

Die Anzahl von SELECT-Anweisungen, die als Subqueries in einer Open-SQL-Anweisung vorkommen können ist begrenzt. Die maximale Anzahl ist so festgelegt, dass die Open-SQL-Anweisung auf allen unterstützten Datenbanksystemen ausgeführt werden kann Wenn statisch erkennbar führen derzeit mehr als 50 SELECT-Anweisungen zu einem Syntax- und ansonsten zu einem Laufzeitfehler. Diese Beschränkung ist unabhängig davon, ob die Subqueries geschachtelt sind oder in verschiedenen relationalen Ausdrücken der WHERE-Bedingung vorkommen.

Hinweise



Weiterlesen
sql_cond - ALL, ANY, SOME subquery
sql_cond - EXISTS subquery
sql_cond - IN subquery
Subqueries