Ich bezweifle, dass dir hier die neuen Aggregatsfunktionen einen Mehrwert bringen. Die Idee von diesen neuen Window Functions ist einfach gesagt die Entkopplung der GROUP BY Klausel (was eine Filterung der Datenmenge als Folge hat) von der Aggregatsbildung. In deinem Fall willst ja dann einfach eine Zeile je Kunde mit den Summen haben, oder? Hier tuts ein einfaches:
Code:
select
k.knr
, k.name
, sum(a.betrag) as sum_auftragbetrag
, sum(r.betrag) as sum_rechungbetrag
from
kunden k
left join AUFTRAG a on (a.KNR = k.KNR)
left join RECHNUNGEN r on (r.KNR = k.KNR)
group by
k.KNR
, k.NAME
LEFT JOIN vs. INNER JOIN musst du entscheiden, ob ein Kunde ohne Auftrag bzw. Rechnung in der Ergebnismenge auftauchen soll.
LG