Ich habe eine Tabelle mit Spalten: ID, Typ (mit 'IN' und 'Out' strings) und Wert (Haltegelddaten)SQL laufend Gesamt Änderung
Ich brauche zu bekommen der Rest jeder Zeile durch Addition und minus von Wert nach der Logik:
- wenn Type = 'In' dann Wertsumme
- , wenn Typ = 'Out' dann minus Val ue
Ich habe etwas versucht, aber ich kann nicht feststellen, wo es in oder out ist:
ID Type Value and in balance like this Balance
21 In 55 55
22 IN 78 133
23 Out 15 118
24 Out 56 62
25 In 72 134
26 Out 5 129
I-Code wie diese:
SELECT ID ,
Value ,
(SELECT SUM(y.Value)
FROM dbo.Reestr y
WHERE y.ID <= x.ID
) AS RunningTotal
FROM dbo.Reestr x
ORDER BY 1 ,2 ,3;
wo group by-Klausel ist. Es wird einen Fehler – Ravi
@Ravi werfen. . . Der Code in der Frage hat keine "Gruppe von". Auch deuten die Daten nicht darauf hin, dass man benötigt wird. Wenn Sie eine Frage zu kumulativen Summen mit Aggregation haben, stellen Sie eine Frage. –
@ Gordon Linoff .... Sie verwenden Aggregatfunktion müssen Sie Gruppieren nach Klausel verwenden, weil Id nicht in Aggregatfunktion ist. Wenn Frage nicht es deshalb hat, erhält er nicht gewünschtes Ergebnis, – Ravi