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?