Einzelnen Beitrag anzeigen

prognase

Registriert seit: 30. Apr 2012
4 Beiträge
 
#2

AW: Select mit horizontal und vertikalen Daten

  Alt 14. Jul 2019, 17: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
  Mit Zitat antworten Zitat