Du brauchst im Grunde 3 Datenmengen, die Du zusammenjoinen mußt:
- alle Debitoren, die in mindestens einem der beiden Jahre Umsatz gemacht haben (a)
- Umsätze der Debitoren im aktuellen Jahr (b)
- Umsätze der Debitoren im Vorjahr (c)
Diese Daten kannst Du alle aus dbo.DBRechnung gewinnen.
Beispiel:
SQL-Code:
SELECT a.DEBITOR_ID,
sum (b.Umsatz) AktUmsatz,
sum (c.Umsatz) OldUmsatz
FROM dbo.DBRechnung a
LEFT JOIN dbo.DBRechnung b on ((b.DEBITOR_ID=a.DEBITOR_ID) AND (b.JAHR_ID = :AktJahr))
LEFT JOIN dbo.DBRechnung c on ((c.DEBITOR_ID=a.DEBITOR_ID) AND (c.JAHR_ID = :AktJahr - 1))
WHERE a.JAHR_ID in (:AktJahr, :AktJahr - 1)
GROUP BY a.DEBITOR_ID
Ich habe da die Artikel und den Monat rausgelassen. wenn Du das Ganze auch noch artikelweise und/oder monatsweise auswerfen willst, muss entsprechend ergänzt werden.
Gruß
Thomas
PS: Trocken runtergeschrieben, ungetestet