Ich versuche, den Wert der vorhergehenden Zeile in der aktuellen Zeile in die Spalte kumulativenSQL andernfalls Wert hinzufügen aus vorheriger Reihe in die nächsten
Select
Ddate as Date, etype, Reference, linkacc as ContraAcc,
Description,
sum(case when amount > 0 then amount else 0 end) as Debits,
sum(case when amount < 0 then amount else 0 end) as Credits,
sum(amount) as Cumulative
from
dbo.vw_LT
where
accnumber ='8400000'
and [DDate] between '2016-04-01 00:00:00' and '2016-04-30 00:00:00'
and [DataSource] = 'PAS11CEDCRE17'
group by
Ddate, etype, Reference, linkacc, Description, Amount
Output hinzuzufügen (was ich bin immer):
Date Reference ContraAcc Description Debits Credits Cumulative
--------------------------------------------------------------------------
2016-04-01 CC007 8000000 D/CC007 0 -39.19 -39.19
2016-04-01 CC007 8000000 D/CC007 1117.09 0 1117.09
2016-04-01 CC009 8000000 CC009 2600 0 2600
in der kumulativen Spalte sollte unten mögen (was ich brauche):
Date Reference ContraAcc Description Debits Credits Cumulative
--------------------------------------------------------------------------
2016-04-01 CC007 8000000 D/CC007 0 -39.19 -39.19
2016-04-01 CC007 8000000 D/CC007 1117.09 0 1077.9
2016-04-01 CC009 8000000 CC009 2600 0 3677.9
Sie sollen posten Sie einige gesampelte Daten und ein erwartetes Ergebnis, da Ihre Frage nicht klar ist. Markieren Sie auch Ihre rdbms (Oracle, MySQL, SQL-Server) als Antworten werden sich stark unterscheiden. Ihre Anfrage oben hat keinen Mechanismus, der andere Zeilen kennen würde, so dass sie keine laufenden oder kumulativen Summen wären – Matt
Ich habe die Beispieldaten hinzugefügt – Tinashe
Ich verstehe nicht, was "in der kumulativen Spalte Zeile zwei muss -39.19 + 1117.09 und sein so weiter "bedeutet - kannst du das umschreiben, um klarer zu sein, bitte? Ist die Ausgabe, die Sie gepostet haben, was Sie gerade bekommen oder was Sie wollen? – Blorgbeard