Ansicht
Dokumentation

ABAPSELECT_CLAUSE - SELECT CLAUSE

ABAPSELECT_CLAUSE - SELECT CLAUSE

General Data in Customer Master   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

SELECT, select_clause

Kurzreferenz



... $[DISTINCT$] select_list ...

Zusatz:

... DISTINCT

Wirkung

SELECT-Klausel einer Query. Die SELECT-Klausel definiert die Struktur der Ergebnismenge der SELECT-Anweisung. Sie besteht aus einer SELECT-Liste, welche die Spalten der Ergebnismenge definiert, und einem optionalen Zusatz DISTINCT, der duplikative Zeilen aus der Ergebnismenge entfernt.

Die SELECT-Liste select_list kann über die Angabe von * alle Spalten einer Datenquelle bezeichnen oder definiert die einzelnen Spalten der Ergebnismenge über beliebige SQL-Ausdrücke. Sie definiert die Namen der Spalten in der Ergebnismenge, wofür Aliasnamen verwendet werden können oder müssen.

Hinweis

Die SELECT-Klausel muss entweder als erste Klausel hinter dem Schlüsselwort SELECT bzw. dem optionalen Zusatz SINGLE oder hinter der FROM-Klausel aufgeführt werden. Hinter der FROM-Klausel muss die SELECT-Klausel mit dem Zusatz FIELDS eingeleitet werden. Eine FROM-Klausel vor der SELECT-Klausel unterstützt Werkzeuge wie die Code Completion des ABAP Editors.

Beispiel

SELECT-Klausel hinter FIELDS in deren SELECT-Liste einzelne Spalten sowie Aggregatausdrücke mit SQL-Ausdrücken als Argumente aufgeführt sind.

Zusatz

... DISTINCT

Wirkung

Der Zusatz DISTINCT entfernt mehrfach vorkommende Zeilen aus einer mehrzeiligen Ergebnismenge. Hierfür wird der gesamte Zeileninhalt betrachtet.

Der Zusatz DISTINCT kann nicht angegeben werden,

  • wenn der Zusatz SINGLE verwendet wird,
  • wenn eine in der SELECT-Liste select_list angegebene Spalte vom Typ STRING, RAWSTRING, LCHR, LRAW oder GEOM_EWKB ist.

Bei Verwendung des Zusatzes DISTINCT umgeht die SELECT-Anweisung die Tabellenpufferung.

Hinweise

  • Für den Zusatz DISTINCT spielt es keine Rolle, welche Spalten der Ergebnismenge Schlüsselfelder der zugehörigen DDIC-Datenbanktabellen, Views oder CDS-Entitäten sind.
  • Da der Vergleich auf dem gesamten Zeileninhalt beruht, hängt die Anzahl der Zeilen in der Ergebnismenge von der SELECT-Liste ab. Wenn in einer SELECT-Liste beispielsweise alle Schlüsselfelder einer DDIC-Datenbanktabelle direkt als columns aufgeführt sind, kann es keine mehrfach vorkommende Zeilen geben. Im anderen Extrem enthält eine SELECT-Liste eine einzige Hostvariable oder ein Literal. Dann werden alle Zeilen bis auf eine einzige gelöscht.
  • Der Zusatz DISTINCT wirkt als Teil der SELECT-Klausel vor der Auswertung der Zusätze UP TO und OFFSET.
  • Bei der Angabe von DISTINCT ist zu beachten, dass dafür Sortierungen im Datenbanksystem ausgeführt werden müssen und dass die SELECT-Anweisung deshalb die Tabellenpufferung umgeht.

Beispiel

Ausgabe aller Flugziele, welche die Lufthansa von Frankfurt aus anfliegt.






BAL Application Log Documentation   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4989 Date: 20240523 Time: 122631     sap01-206 ( 68 ms )