SQL Server-Abfrage, die insgesamt in der Ansicht ausgeführt wird, wird zurückgesetzt, wenn sich Spalte A ändert

Ein Kollege von mir hat ein Problem, bei dem ich ihm helfen möchte.

Er hat eine SQL-Ansicht, die folgende Daten enthält (Beispieldaten):

<code>Category          Value
Cat A             10
Cat A             20
Cat A             30
Cat B             15
Cat B             15
Cat C             10
Cat C             10
</code>

Er möchte der Ansicht eine Spalte hinzufügen, die eine laufende Summe der Wertespalte enthält.

Diese Spalte muss die laufende Summe zurücksetzen, wenn sich die Kategorie ändert.

Die Ausgabedaten müssen also so lauten:

<code>Category          Value       Running
Cat A             10          10
Cat A             20          30
Cat A             30          60
Cat B             15          15
Cat B             15          30
Cat C             10          10
Cat C             10          20
</code>

Wir könnten die laufende Summe erhalten, indem wir den Tisch wie folgt auf sich selbst setzen:

<code>select t1.id, t1.[count], SUM(t2.[count]) as sum
from TableA t1
inner join TableA t2 on t1.id >= t2.id
group by t1.id, t1.[count]
order by t1.id
</code>

Problem ist, dass wir keine ID-Spalte haben und wie würden wir die laufende Summe anweisen, zurückgesetzt zu werden, wenn sich die Kategorie ändert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage