Ansicht
Dokumentation

ABAPUNION_CLAUSE - UNION CLAUSE

ABAPUNION_CLAUSE - UNION CLAUSE

BAL Application Log Documentation   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

UNION, INTERSECT, EXCEPT, query_clauses



Wirkung

Mögliche Klauseln und Zusätze von Queries, deren Ergebnismengen mit UNION, INTERSECT oder EXCEPT vereinigt werden. Die Ergebnismenge von mit UNION, INTERSECT oder EXCEPT verknüpften SELECT-Anweisungen wird immer als mehrzeilig betrachtet.

Für die Klauseln und Zusätze der mit UNION, INTERSECT oder EXCEPT vereinigten SELECT-Anweisungen gelten folgende Besonderheiten:

  • Alle SELECT-Listen von über UNION, INTERSECT oder EXCEPT verknüpften SELECT-Anweisungen müssen gleich viele Elemente haben.
  • Die einander zugeordneten Spalten müssen die gleichen Typeigenschaften bezüglich eingebautem Datentyp Länge und Anzahl der Nachkommastellen haben, mit folgenden Ausnahmen:
  • Numerische Typen INT1, INT2 , INT4 und INT8 können eine Spalte bilden. Die resultierende Spalte hat den Datentyp mit dem größten vorkommenden Wertebereich.

  • Numerische Typen DEC dürfen unterschiedliche Längen, müssen aber die gleiche Anzahl von Nachkommastellen haben. Die resultierende Spalte hat den Datentyp mit der größten vorkommenden Länge. Die entsprechenden speziellen Typen CURR und QUAN werden dabei wie DEC behandelt.

  • Die numerischen Typen DF16_DEC DF34_DEC werden wie die Zahlen vom Typ DEC behandelt, als die sie abgelegt sind, und es gilt obige Regel bezüglich Längen und Nachkommastellen.

  • Zeichenartige Typen CHAR dürfen unterschiedliche Längen haben. Die resultierende Spalte hat den Datentyp mit der größten vorkommenden Länge. Die entsprechenden speziellen Typen CLNT, LANG, CUKY und UNIT werden dabei wie CHAR behandelt.

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.
  • In den WHERE-Bedingungen der beteiligten SELECT-Anweisungen ist der Zusatz FOR ALL ENTRIES nicht erlaubt.
  • Für die einzelnen Ergebnismengen kann keine ORDER BY-Klausel angegeben werden. Statt dessen kann ORDER BY auf die vereinigte Ergebnismenge von Hauptqueries angewendet werden.

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

Hinweise

  • Jede der verknüpften SELECT-Anweisungen hat ihre eigene Mandantenbehandlung. Ein Zusatz USING oder der obsolete Zusatz CLIENT SPECIFIED in der FROM-Klausel wirkt nur auf die SELECT-Anweisung, für die er angegeben ist.
  • Wenn erforderlich, können die Spaltennamen der einzelnen Ergebnismengen über Aliasnamen hinter AS angepasst werden.
  • Wenn die Spaltennamen der Ergebnismengen nicht gleich sind, werden die Spaltennamen der Ergebnismenge der SELECT-Anweisung links von UNION, INTERSECT oder EXCEPT übernommen. In einem solchen Fall sind die Namen mit Ausnahme von Subqueries in der Anweisung WITH in der Regel aber nicht sichtbar.
  • Die numerischen Typen DF16_DEC und DF34_DEC können nur bei übereinstimmenden Nachkommastellen gemeinsam in einer Spalte verwendet werden.
  • Um die Spalten der Ergebnismenge der beteiligten SELECT-Anweisungen aufeinander abzustimmen, können SQL-Ausdrücke, Hostausdrücke und Hostvariablen verwendet werden.

Beispiel

Vereinigungsmenge von Anwendungen dreier Aggregatausdrücke auf die gleiche DDIC-Datenbanktabelle in einer Subquery einer WITH-Anweisung. Die Vereinigungsmenge wird in einem allgemeinen Tabellenausdruck selektiert, damit in der Hauptquery der WITH-Anweisung eine einzige WHERE-Bedingung für die gesamte Ergebnismenge verwendet werden kann. Wenn die Vereinigungsmenge in einer Hauptquery gebildet würde, müsste jede einzelne SELECT-Anweisung die gleiche WHERE- oder HAVING-Bedingung enthalten.






General Material Data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8873 Date: 20240605 Time: 130718     sap01-206 ( 116 ms )