Zeilen-Spalten-Transformation

Zu Auswertungszwecken kann es sinnvoll sein, Daten die in einer Tabelle in Form von einzelnen Zeilen abgelegt sind in einer View in Spalten zu transformieren.

Beispiel:

Tabelle mit Kosten-Datensätzen

Monat  Jahr  Kostenart  Betrag
-----  ----  ---------  ------
1      2010  4711       10
2      2010  4711       20
1      2010  0815       30
2      2010  0815       40

Gewünschtes Ergebnis:

Monat  Jahr  Betrag_4711  Betrag_0815
-----  ----  -----------  -----------
1      2010  10           30
2      2010  20           40

SELECT-Statement:

SELECT monat
     , jahr
     , SUM( CASE kostenart WHEN '4711' THEN betrag ELSE 0 END ) AS betrag_4711
     , SUM( CASE kostenart WHEN '0815' THEN betrag ELSE 0 END ) AS betrag_0815
  FROM tabelle
 GROUP BY monat, jahr;
Torsten Mandry

Torsten Mandry

Software Craftsman, Architekt, Clean Coder, API-Fetischist, Politik-Allergiker

rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora