У меня временная таблица настроена так:
Type Rate TotalCost
---- ---- ---------
Type1 0.01 3276.00
Type2 0.01 3276.00
Type3 0.01 3276.00
Однако мне нужно взять коэффициент текущей строки, умножить его на предыдущий итог, затем добавить его к текущему итогу ... чтобы получить новый итог!
Type Rate TotalCost
---- ---- ---------
Type1 0.01 3276
Type2 0.01 3308.76
Type3 0.01 3341.85
Таким образом, 1% из 3276 составляет 32,76.
3276 + 32,76 = 3308,76.
1% из 3308 составляет 33,08.
3308,76 + 33,08 = 3341,85.
и т. Д.
Я пытался создать CTE, вот так ..
;with cte
as
(
select Type, Rate, TotalCost, row_number() over (order by SortOrder asc) as RowNum
from @Types
)
select cur.RowNum, cur.Rate, prev.Rate, cur.TotalCost, isnull(prev.TotalCost * cur.Rate, cur.TotalCost) as NewTotal
from cte cur
left join cte prev on prev.RowNum = cur.RowNum + 1
... но это не работает: (
Может кто-нибудь помочь?
Я использую SQL Server 2005!
Заранее спасибо!