Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQL: Kosten anteilig auf Jahre aufteilen

  Alt 8. Mär 2018, 09:03
* MIN und MAX der Jahre aller Datensätze
* für die Abfrage der Daten der jeweiligen Jahre:
eine Serie über MIN..MAX ( http://www.delphipraxis.net/188280-l...-finden-2.html )
oder einfach nur alle Jahre der Datensätze (DISTINCT ORDER BY und so)
* jeweils TAGE zwischen VON und BIS (+1, also inkl. des letzten Tages)
und TAGE zwischen Jahresanfang Max(JAHR, YearOf(VON))::DATE und Jahresende (Min(JAHR, YearOf(BIS))+1)::DATE-'1 day' ... auch +1
> damit kannst du schonmal den Anteile ausrechnen
* und nun erstmal die abgerundeten anteiligen Kosten ausrechnen

so, das am Besten gleich mal in nen VIEW, weil du das nochmal brauchst (oder du rechnest halt doppelt)

SELECT auf den VIEW und wenn YearOf(BIS) = YAHR, dann die Gesamtkosten des Datensatzes abzüglich der Kosten der Teiljahre und das Ergebnis (Rundungsdifferenzen) mit dazurechnen
und am Ende nochmal ein GROUP BY Jahr drüber (oder ohne GROUP, um zu sehn was von wo kommt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 8. Mär 2018 um 10:04 Uhr)
  Mit Zitat antworten Zitat