Datensätze nach bestimmten Zeitkriterien summiren

Oesm77

Neuer Benutzer
Beiträge
2
Hallo,
ich bin schon seit Stunden dran und komme mit einem Problem nicht weiter.
Ich habe eine Tabelle mit Ausliefersummen (SUMM_LFG) ,Belegdatum (DATUM_BEL) und Kundennummer (KDNR). Für eine Auswertung muss ich die Summe aller Lieferungen 8 Wochen nach dem ersten Belegdatum für jeden Kunden ermitteln.

Habt Ihr ein Idee?

Vielen Dank für eure Hilfe.
 
Werbung:
Code:
test=*# select * from oesm77 ;
  datum  | kdnr | summ
------------+------+------
 2016-01-01 |  1 |  10
 2016-04-01 |  1 |  30
 2016-02-01 |  2 |  40
 2016-04-01 |  3 |  50
(4 rows)

test=*# select o.kdnr, sum(summ) from oesm77 o right join (select kdnr, min(datum) as start, min(datum) + '8 week'::interval as ende from oesm77 group by kdnr) as a on (o.kdnr=a.kdnr) where o.datum between a.start and a.ende group by o.kdnr;
 kdnr | sum
------+-----
  1 |  10
  3 |  50
  2 |  40
(3 rows)

Ist mit PostgreSQL gemacht, wenn Du Glück hast, kann das sogar MySQL.
 
Vermutlich bis auf
Code:
min(datum) + '8 week'::interval
Dafür wirst du dir eine MySQL Funktion suchen müssen, dateadd() gibt es dort vieleicht.
 
Werbung:
Zurück
Oben