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

SELECT - UNION

Kurzreferenz

Syntax

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


Wirkung

Der Zusatz UNION vereinigt die Ergebnismengen zweier SELECT-Anweisungen. Die Zeilen der Ergebnismenge der SELECT-Anweisung rechts von UNION werden in die Ergebnismenge der SELECT-Anweisung links von UNION eingefügt. Die Spalten der Ergebnismenge behalten die in der SELECT-Anweisung links von UNION definierten Namen.

Die SELECT-Anweisungen links und rechts von UNION haben ihre eigenen SELECT-, FROM-, WHERE-, GROUP BY- und HAVING-Klauseln. Die SELECT-Anweisung auf der rechten Seite von UNION kann selbst einen UNION-Zusatz enthalten und mit runden Klammern ( ) eingeklammert werden. Die ORDER BY- und die INTO-Klausel wirken auf die vereinigte Ergebnismenge und sind hinter der Position der letzten schließenden Klammer aufzuführen.

Die Zusätze ALL und DISTINCT regeln, wie mit mehrfach vorkommenden Zeilen verfahren wird, wobei DISTINCT die Standardeinstellung ist:

Die Auswertung von mit UNION verknüpften SELECT-Anweisungen erfolgt von links nach rechts, wobei über Klammerungen eine Priorisierung bewirkt werden kann.

Die Ergebnismenge von mit UNION verknüpften SELECT-Anweisungen wird immer als mehrzeilig betrachtet und der Zusatz SINGLE ist deshalb nicht erlaubt. Bei der Zuweisung an einen nicht-tabellenartigen Zielbereich, d.h. bei einer SELECT-Anweisung ohne den Zusatz INTO|APPENDING ... TABLE wird immer eine mit ENDSELECT abzuschließende Schleife geöffnet.

Für die Klauseln und Zusätze der mit UNION vereinigten SELECT-Anweisungen gilt das Gleiche wie für eine einzelne SELECT-Anweisung mit folgenden Besonderheiten:

Alle anderen Typen müssen vollständig gleich sein. Dies gilt insbesondere für NUMC und RAW, bei denen die Längen übereinstimmen müssen. Auch können die verschiedenen Arten von Strings nicht kombiniert werden.

Die Anzahl der über UNION verknüpfbaren SELECT-Anweisungen ist nicht durch einen festen Wert begrenzt.

Hinweise

Beispiele

Siehe