Hallo zusammen,
ich benötige Eure Hilfe!
Ich versuche in einer Abfrage einen Wert zu kumulieren. Leider gelingt es mir nicht, siehe jpg. Ich beabsichtige aus 2 Werten die Differenz zu bilden und danach diese zu kumulieren.
Datum|SOLL|IST|Differenz|kumuliert
20.09.|69 |0 |-69 |-69
21.09.|69 |29 | -40 |-109
Folgende SQL-Abfrage habe ich erstellt. Diese liefert mir jedoch in jeder Zeile einen berechneten Wert von "5543" und nichts kumuliertes.
SELECT Abfrage1.Datum, Abfrage1.EVO, Abfrage1.EVOIST, Abfrage1.Differenz, Abfrage1.Differenz AS Diff,
(select sum(Differenz)
from abfrage1 as T1
where abfrage1.datum<=abfrage1.datum) AS kumuliert
FROM Abfrage1;
Sagt mir bitte was ich falsch mache!
Viele Grüße
schaper26
Du musst beim Datumsvergleich das Datum der inneren Abfrage mit dem Datum der äußeren Abfrage vergleichen.WHERE T.Datum <= Abfrage1.Datum
Warum nicht konsequent mit den Aliasen?
SELECT A.Datum,
A.EVO,
A.EVOIST,
A.Differenz AS Diff,
(
SELECT Sum(A1.Differenz)
FROM Abfrage1 as A1
WHERE A1.datum<=A.datum
) AS kumuliert
FROM Abfrage1 AS A