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