Contents
Referenzen
Oracle PIVOT – Introduction to Oracle PIVOT clause
SQL Pivot: Converting Rows to Columns
Sql PIVOT and string concatenation aggregate (Schwierig :-))
Kurz-Erklärung
SQL Pivot kann benutzt werden um Gruppierungen innerhalb eines Resultat-Sets zu machen und pro Gruppe zusätzliche Kolonnen zu extrahieren.
Hätten wir z.B. ein statement:
SELECT MONAT, REGENMENGE FROM REPORT;
| Monat | Regenmenge | |
|---|---|---|
| 1 | 100 | |
| 2 | 212 | |
| 3 | 322 | |
| … | … | |
Wenn man daraus dieseses Format erstellen möchte:
| Januar | Februar | März | April | … | ||
| 100 | 212 | 322 |
… würde man dies mit folgendem Pivot-Statement erreichen:
SELECT MONAT, REGENMENGE FROM REPORT
PIVOT max(REGENMENGE) -- Aggregatsfunktion fuer mehrere werte fuer denselben Monat
FOR MONAT
IN ( '1' as JANUAR, '2' as FEBRUAR, '3' as MÄRZ, '4' as APRIL, ...)