In den meisten Tabellenkalkulationen können eine Menge von gleichartigen Datensätzen in Gruppen, den sogenannten Pivot-Tabellen zusammengefasst werden. Bei Gruppierung nach zwei oder mehreren Feldern kann die Pivot-Tabelle auch als sogenannte Kreuztabelle angezeigt werden, um die Übersichtlichkeit zu erhöhen.
PIVOT
-Operationen in der Datenbank durchzuführen ist schon seit jeher möglich, erfordert allerdings teilweise sehr komplexe SQL-Anweisungen. Das folgende Beispiel zeigt eine typische PIVOT
-Operation der Quartals-Spalte QUARTER
mit üblichen Bordmitteln:
SELECT product, SUM(CASE when quarter = 'Q1'
THEN quantity_sold ELSE NULL END) Q_1,
SUM(CASE when quarter = 'Q2' THEN quantity_sold
ELSE NULL END) Q_2, SUM(CASE when quarter = 'Q3'
THEN quantity_sold ELSE NULL END) Q_3, SUM(CASE when
quarter = 'Q4' THEN quantity_sold ELSE NULL END) Q_4
FROM (SELECT product, quarter, quantity_sold FROM
SALES_VIEW ) GROUP BY product;
Das aktuelle Datenbank-Release 11g stellt hierfür einfach nutzbare Operatoren wie PIVOT
beziehungsweise UNPIVOT
zur Verfügung. Das nächste Beispiel zeigt die einfache Implementierung des zuvor angeführten Beispiels mit dem neuen Operator PIVOT
.
SELECT * FROM (SELECT product, quarter, quantity_sold
FROM sales_view) PIVOT (sum(quantity_sold) FOR
quarter IN ('Q1' AS Q_1, 'Q2' AS Q_2, 'Q3' AS Q_3,
'Q4' AS Q_4));
(Ulrike Schwinn/Heinz-Wilhelm Fabry/am)
datenbanken
Registriere dich
Wenn Du deinen Benutzernamen in Besitz nehmen möchtest, solltest Du dich registrieren:
Benutzername
Passwort
Passwort wiederholen
E-Mail
databasepro
databasepro berichtet alle zwei Monate praxisnah über die Themen, die professionelle Datenbank-Architekten, -Administratoren, Consultants, Anwender und IT-Manager, die sich mit der Auswahl von Technologien, Plattformen, Datenbanken und Entwicklungsumgebungen beschäftigen, Tag für Tag brauchen.