У меня есть временная таблица, содержащая 4 переменные, для которых мне нужно выполнить расчет, а затем накапливать это поле от записи к записи, аналогично кумулятивной сумме. Я установил РАНГ в #TEMP_TABLE_1. Вот мой код:
UPDATE T1
SET T1.TOTAL_NET_BAL = ISNULL((SELECT T2.TOTAL_NET_BAL
FROM #TEMP_TABLE_1 AS T2
WHERE T1.RANK - 1 = T2.RANK),0) + (T1.MAX_STD_CAPACITY + T1.MAX_QT_CAPACITY) - (T1.STANDARD_PANELS + T1.QUICKTURN_PANELS)
FROM #TEMP_TABLE_1 AS T1
Все, что он делает, это обновляет текущую строку в таблице для TOTAL_NET_BAL. По какой-то причине он не захватывает сумму, когда мы находимся в следующем ряду.