Werte aus Vormonat im folgenden Monat einberechnen

ny_unity

SQL-Guru
Beiträge
185
Hallo zusammen,

ich hoffe ich kann mein Problem halber Wege ordentlich erklären.

Folgende Tabellen:
Datum - Eintritt - Austritt
01.01.2015 - 0 - 1
01.02.2015 - 1 - 0
01.03.2015 - 5 - 1
01.04.2015 - 4 - 1
01.05.2015 - 3 - 0

Mein Stand vor dem 01.01.2015 ist 34.
Jetzt möchte ich gern, am 01.01.2015 den Eintritt (+0) und den Austritt (-1) mit dem Anfangswert zusammenrechnen. Ergibt quasi 33.

Als nächstes soll dann am 01.02.2015 mit dem Wert 33 weiter gerechnet werden, also 33+1-0 = 34.

Meine End_Tabelle soll quasi so aussehen:
Datum - Eintritt - Austritt - Stand
01.01.2015 - 0 - 1 - 33
01.02.2015 - 1 - 0 - 34
01.03.2015 - 5 - 1 - 38
01.04.2015 - 4 - 1 - 41
01.05.2015 - 3 - 0 - 44

Kann mir hier jemand eine Hilfestellung geben?

Vielen Dank!

Erik
 
Werbung:
Wozu zwischenstände speichern?
Mach dir einen Dummy Eintragvor dem 1.1.15 mit Eintritt 34. Dann kannst du das zu jedem Zeitpunkt zusammenrechnen.
 
Window-Funktionen kann auch M$SQL:

Code:
test=*# select * from ny_unity ;
   datum    | ein | aus
------------+-----+-----
 2015-01-01 |   0 |   1
 2015-02-01 |   1 |   0
 2015-03-01 |   5 |   1
 2015-04-01 |   4 |   1
 2015-05-01 |   3 |   0
(5 rows)

test=*# select datum, ein, aus, 34 + sum(ein-aus) over (order by datum) from ny_unity ;
   datum    | ein | aus | ?column?
------------+-----+-----+----------
 2015-01-01 |   0 |   1 |       33
 2015-02-01 |   1 |   0 |       34
 2015-03-01 |   5 |   1 |       38
 2015-04-01 |   4 |   1 |       41
 2015-05-01 |   3 |   0 |       44
(5 rows)

test=*#
 
Werbung:
WOW, das ist nur die Hälfte des Codes mit dem ich es gelöst habe.

Außerdem ist die Zeit von 6 Sekunden runter auf 3 Sekunden, bedeutet ich kann es Live darstellen, ohne alle paar Minuten in eine feste Tabelle zwischen zu speichern.

Danke!
 
Zurück
Oben