Ansicht
Dokumentation
ABAPSELECT_CLAUSE - SELECT CLAUSE
General Data in Customer Master CL_GUI_FRONTEND_SERVICES - Frontend ServicesDiese Dokumentation steht unter dem Copyright der SAP AG.
SELECT, select_clause
... $[DISTINCT$] select_list ...
Zusatz:
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 )