ANSI-standardmetoden til at lave en kumulativ sum er:
select t.*, sum(totalpmtamt) over (order by mdate) as runningsum
from #testdata t
order by t.mdate;
Ikke alle databaser understøtter denne funktionalitet.
Hvis din database ikke understøtter den funktionalitet, ville jeg gå efter en korreleret underforespørgsel:
select t.*,
(select sum(t2.totalpmtamt)
from #testdata t2
where t2.mdate <= t.mdate
) as runningsum
from #testdata
order by t.mdate;