I SQL Server 2005 ville jeg gøre dette ved at bruge en korreleret underforespørgsel:
select dummy_id, date_registered, item_id, quantity, price,
(select sum(quantity)
from t t2
where t2.item_id = t.item_id and
t2.date_registered <= t.date_registered
) as cumulative
from table t;
Hvis du rent faktisk vil tilføje dette til en tabel, skal du ændre tabellen for at tilføje kolonnen og derefter foretage en opdatering. Hvis tabellen har inserts og opdateringer, skal du tilføje en trigger for at holde den opdateret. At få det gennem en forespørgsel er bestemt nemmere.
I SQL Server 2012 kan du gøre dette ved at bruge syntaksen:
select dummy_id, date_registered, item_id, quantity, price,
sum(quantity) over (partition by item_id order by date_registered) as cumulative
from table t;