Les sommes cumulées ne sont pas prises en charge avant SQL Server 2012+. Vraisemblablement, vous utilisez SQL Server 2005 ou 2008 ou votre paramètre de compatibilité est défini sur 105 ou moins (voir ici ).
Dans ces versions, vous pouvez utiliser outer apply
:
select t.*, s.amount
from @t t outer apply
(select sum(t2.amount) as amount
from @t t2
where t2.cname = t.cname and t2.cid <= t.cid
) s;