IT-Lexikon › Datenbanken › PIVOT (SQL)

PIVOT (SQL)

Datenbanken Svenska → Aktualisiert: 2026-09-14

Operation, die Zeilen in Spalten verwandelt — z. B. eine lange Tabelle mit (Monat, Betrag) in eine breite mit einer Spalte pro Monat. Eingebaute PIVOT-Syntax in SQL Server und Oracle; in PostgreSQL geschieht das über CASE WHEN-Aggregation oder crosstab().

Anwendungsfall: Berichtsformate, bei denen man "Jahr untereinander, Monat nebeneinander" haben will statt einer Zeile pro (Jahr, Monat). Das manuelle, portable Muster: SUM(CASE WHEN monat = 1 THEN betrag END) AS jan, SUM(CASE WHEN monat = 2 ...) AS feb, ..., gruppiert nach Jahr. Einschränkung: Die Spalten müssen im Voraus bekannt sein (SQL ist statisch typisiert) → ein "dynamisches Pivot" erfordert, den SQL-String im Code zusammenzubauen. PostgreSQL bietet crosstab() in der tablefunc-Extension. Oft wird das Pivotieren lieber in die Präsentationsschicht verlagert (BI-Tools, Python/pandas), wo es dynamisch bleibt. Das Gegenteil ist UNPIVOT (Spalten → Zeilen).

← Zurück zum Lexikon