累積合計は、SQL Server 2012 以降までサポートされていません。おそらく、SQL Server 2005 または 2008 を使用しているか、互換性設定が 105 以下に設定されています (こちら ).
これらのバージョンでは、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;