Hallo Forum,
seit Oracle 11g gibt es ja die neue Pivot Funktion. Beispiel: Eine Liste der Belegung der einzelnen Liefertore pro Abrechungsjahr:
[highlight=sql]
With "Quelldaten" AS (
Select
tab."TorNr",
Substr(tab."Datum", 1, 4) AS "Jahr"
From
tabelle tab
Where
Substr(tab."Datum", 1, 4) >= '2005'
)
SELECT * FROM "Quelldaten"
Pivot ( Count("TorNr")
FOR "Jahr"
IN (2005,2006,2007,2008,2009,2010,2011,2012,2013)
)
ORDER BY "TorNr"
[/highlight]
In der "IN" Klausel trage ich händisch die gewünschten Spalten ein. Geht sowas auch dynamisch? Wenn z.B. das Jahr 2008 und 2011 fehlen würden, diese nicht erscheinen?
Danke,
Yusuf
seit Oracle 11g gibt es ja die neue Pivot Funktion. Beispiel: Eine Liste der Belegung der einzelnen Liefertore pro Abrechungsjahr:
[highlight=sql]
With "Quelldaten" AS (
Select
tab."TorNr",
Substr(tab."Datum", 1, 4) AS "Jahr"
From
tabelle tab
Where
Substr(tab."Datum", 1, 4) >= '2005'
)
SELECT * FROM "Quelldaten"
Pivot ( Count("TorNr")
FOR "Jahr"
IN (2005,2006,2007,2008,2009,2010,2011,2012,2013)
)
ORDER BY "TorNr"
[/highlight]
In der "IN" Klausel trage ich händisch die gewünschten Spalten ein. Geht sowas auch dynamisch? Wenn z.B. das Jahr 2008 und 2011 fehlen würden, diese nicht erscheinen?
Danke,
Yusuf
Comment