Hallo,
ich will aus einer Tabelle eine Pivot-Tabelle erstellen.
Ich habe folgende Tabelle "tabelle1"
Wenn ich folgende Gruppierung mache:
bekomme ich folgende Tabelle, die aus drei Spalten besteht, und zwar:
Ich brauche aber die Ergebnisse in folgender Form (Pivot-Tabelle):
Wichtig: Wenn bei einem Gerät Werte in einem Monat fehlen, dann muss in der Tabelle "0" stehen.
Wie macht man Pivot-Tabellen mit Oracle?
ich will aus einer Tabelle eine Pivot-Tabelle erstellen.
Ich habe folgende Tabelle "tabelle1"
Code:
======================================= datum ___________ |__ geraet __| __ Wert ======================================= ... 2007.01.01 01:00:00 ___ 001 ________ 5 2007.01.01 02:00:00 ___ 001 ________ 7 2007.01.01 03:00:00 ___ 001 ________ 1 ... 2007.12.30 22:00:00 ___ 001 ________ 4 2007.12.30 23:00:00 ___ 001 ________ 4 2007.01.01 01:00:00 ___ 002 ________ 5 2007.01.01 02:00:00 ___ 002 ________ 7 2007.01.01 03:00:00 ___ 002 ________ 1 ... 2007.12.30 22:00:00 ___ 002 ________ 4 2007.12.30 23:00:00 ___ 002 ________ 4 ...
SELECT TO_CHAR(datum, 'YYYY/MM') as jahrmonat, geraet, COUNT(wert) as anzahl
FROM tabelle1
GROUP BY geraet, TO_CHAR(datum, 'YYYY/MM')
ORDER BY geraet, jahrmonat ASC;
FROM tabelle1
GROUP BY geraet, TO_CHAR(datum, 'YYYY/MM')
ORDER BY geraet, jahrmonat ASC;
=========================
jahrmonat | geraet | anzahl
=========================
...
2007/01 _______001______40
2007/02 _______001______45
...
2007/12 _______001______35
2007/01 _______002______43
2007/02 _______002______46
...
2007/12 _______002______38
jahrmonat | geraet | anzahl
=========================
...
2007/01 _______001______40
2007/02 _______001______45
...
2007/12 _______001______35
2007/01 _______002______43
2007/02 _______002______46
...
2007/12 _______002______38
Code:
================================ ________ 001 ______ 002 _____ 003 =============================== ... 2007/01__40________43_______ 11 2007/02__45________46_______ 0 .... 2007/11__41________47_______ 0 2007/12__35________38_______ 0 ...
Wie macht man Pivot-Tabellen mit Oracle?
Comment