Datum

crosstab wurde ja eigentlich schon genannt (sogar vom TE).
Es ist halt wie ebenfalls genannt nicht dynamisch, was problematisch ist.
Wenn, dann könnte im Fall hier nur die Variante mit 2 Selects, eins für Daten, eins für Header genommen werden.
Ein Select für Header ergibt aber dynamische Ergebnisse, außer man sorgt absichtlich dafür, dass das Headerstatement ein statisches Ergebnis hat. Hier vielleicht mit generate series 1-10 oder sowas.