Haushaltsergebnis des Vorjahres

Dieses SQL-Script liefert die Summen pro Haushaltsstelle/Sachkonto und Hilfeart des Vorjahres für alle Buchhaltungssachgebiete.

Die Summen der verschiedenen Buchungstypen (Auszahlung, Abschlagszahlung, Einzahlung, Einnahme- und Ausgabeabsetzungen) werden getrennt voneinander dargestellt.

 

SQL-Code für MS SQL SERVER

select   z.hhjahr as "HH-Jahr", 
         h.sachgeb as "Sachgebiet", 
         h.hnr as "Sachkontonummer",
         h.bez as "Sachkonto-Bezeichnung", 
         ha.bez as "Hilfeart",     
         sum((case when ascii(z.typ) = 65 then z.betrag else 0 end)) as "Auszahlungen", 
         sum((case when ascii(z.typ) = 68 then z.betrag else 0 end)) as "Abschlagszahlungen", 
         sum((case when ascii(z.typ) = 101 then z.betrag else 0 end)) as "Ausgabeabsetzungen", 
         sum((case when ascii(z.typ) = 69 then z.betrag else 0 end)) as "Einzahlungen",    
         sum((case when ascii(z.typ) = 97 then z.betrag else 0 end)) as "Einnahmeabsetzungen"  

from     buzahl z inner join buhhst h on z.hhst = h.lnr and z.hhjahr = h.hhjahr   
         inner join hilfeart ha on z.hifanr = ha.lnr        

where    h.sachgeb < 6
and      z.hhjahr = year(getdate())-1

group by z.hhjahr, h.sachgeb, h.hnr, h.bez, ha.bez
order by z.hhjahr, h.sachgeb, h.bez, ha.bez

 

SQL-Code für ORACLE

select   z.hhjahr as "HH-Jahr",
         h.sachgeb as "Sachgebiet",
         h.hnr as "Sachkontonummer",
         h.bez as "Sachkonto-Bezeichnung",
         ha.bez as "Hilfeart", 
         sum((case when z.typ = 'A' then z.betrag else 0 end)) as "Auszahlungen",
         sum((case when z.typ = 'D' then z.betrag else 0 end)) as "Abschlagszahlungen",
         sum((case when z.typ = 'e' then z.betrag else 0 end)) as "Ausgabeabsetzungen",
         sum((case when z.typ = 'E' then z.betrag else 0 end)) as "Einzahlungen", 
         sum((case when z.typ = 'a' then z.betrag else 0 end)) as "Einnahmeabsetzungen" 

from     buzahl z inner join buhhst h on z.hhst = h.lnr and z.hhjahr = h.hhjahr
         inner join hilfeart ha on z.hifanr = ha.lnr

where    h.sachgeb < 6
and      z.hhjahr = to_number(to_char(sysdate,'yyyy'))-1

group by z.hhjahr, h.sachgeb, h.hnr, h.bez, ha.bez
order by z.hhjahr, h.sachgeb, h.bez, ha.bez