De ANSI-standaardmanier om een cumulatieve som te maken is:
select t.*, sum(totalpmtamt) over (order by mdate) as runningsum
from #testdata t
order by t.mdate;
Niet alle databases ondersteunen deze functionaliteit.
Als je database die functionaliteit niet ondersteunt, zou ik gaan voor een gecorreleerde subquery:
select t.*,
(select sum(t2.totalpmtamt)
from #testdata t2
where t2.mdate <= t.mdate
) as runningsum
from #testdata
order by t.mdate;