Registriert seit: 30. Apr 2012
4 Beiträge
|
AW: Select mit horizontal und vertikalen Daten
14. Jul 2019, 18:18
Hi Tanja,
mit Firebird arbeite ich nicht, habe es mal mit einem anderen SQL-Dialekt probiert (SAS). So in diese Richtung könnte es klappen mit einfachen SQL-Mitteln. Einige Implementierungen unterstützen auch ein PIVOT-Kommando, da evtl. noch mal selber suchen. Hier also was einfaches als Denkanstoss, für mehr Spalten einfach mehr Summen o.ä. reinnehmen:
Code:
create table SalesHorizontal as
select Jahr,
Kunde,
sum (ifn (Monat= 1, Betrag, 0)) as Monat_01,
sum (ifn (Monat= 2, Betrag, 0)) as Monat_02,
sum (ifn (Monat= 3, Betrag, 0)) as Monat_03,
sum (ifn (Monat= 4, Betrag, 0)) as Monat_04,
sum (ifn (Monat= 5, Betrag, 0)) as Monat_05,
sum (ifn (Monat= 6, Betrag, 0)) as Monat_06,
sum (ifn (Monat= 7, Betrag, 0)) as Monat_07,
sum (ifn (Monat= 8, Betrag, 0)) as Monat_08,
sum (ifn (Monat= 9, Betrag, 0)) as Monat_09,
sum (ifn (Monat=10, Betrag, 0)) as Monat_10,
sum (ifn (Monat=11, Betrag, 0)) as Monat_11,
sum (ifn (Monat=12, Betrag, 0)) as Monat_12
from SalesVertical
group by Jahr, Kunde;
Statt IFN bei Firebird die passende Funktion suchen, die ein numerisches Ergebnis einer IF-Funktion liefert, gibt es bestimmt.
Viele Grüße,
Matthias
|