Dans SQL Server 2005, je ferais cela en utilisant une sous-requête corrélée :
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;
Si vous souhaitez réellement ajouter ceci dans une table, vous devez modifier la table pour ajouter la colonne, puis effectuer une mise à jour. Si la table contient des insertions et des mises à jour, vous devrez ajouter un déclencheur pour la maintenir à jour. Il est certainement plus facile de le faire passer par une requête.
Dans SQL Server 2012, vous pouvez le faire en utilisant la syntaxe :
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;