Im ersten Schritt wird eine temporäre Tabelle (tmp_table_1) mit allen Spalten des Spaltenlayouts erstellt, sowohl später sichtbare als auch unsichtbare Spalten. Dabei werden entweder
- Daten aus der virtuellen Tabelle genutzt --> physische, logische, vorbereitende Spalte
- oder ein Lookup auf eine weitere Tabelle durchgeführt --> lookup, vorbereitende Spalte
- oder leere Spalten angelegt (null::datentyp as spaltenname) --> weiterverarbeitende, berechnete Spalte
Im zweiten Schritt werden die Daten aus der in Schritt 1 erstellten tmp_table_1 in eine weitere temporäre Tabelle (tmp_table_2) überführt und dabei aggregiert. Welche Spalten aggregiert werden wird über das Merkmal Aggregierte Spalte festgelegt. Dabei wird entweder
- summiert --> physische, logische, lookup Spalte
- oder die Funktion ausgewertet --> weiterverarbeitende Spalte
Bei der Summierung wird der angegebene Feldname (Ziel) in eine sum()-Funktion eingefügt. Bei einer Funktion wird die Eingabe im Feld Funktion genutzt.
Schritt 3: SelektionIm dritten Schritt findet die finale Selektion statt. Jede Spalte für die das Merkmal Sichtbare Spalte auf 1 gesetzt ist, wird selektiert. Wenn man bei der Selektion noch eine Berechnung oder Änhliches vornehmen möchte, wird das Merkmal auf 0 gesetzt und eine Berechnete Spalte eingesetzt. Es wird dann die Funktion der Berechneten Spalte in den select geschrieben.