我有一个temp表,它包含4个变量,我需要对这些变量进行计算,然后将该字段从一个记录累加到另一个记录,类似于累加和。我在临时表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\u net\u bal。出于某种原因,当我们在下一排时,它没有抓住数量。
3条答案
按热度按时间lf3rwulv1#
你在寻找一个累积的总和。您可以在这个链接中看到如何进行累积求和,并根据需要进行调整。
jqjz2hbq2#
因此,我最终做的是使用sum函数将另一个select语句的代码更改为另一个temp表。仍然不知道为什么我原来的sql语句不能工作,但是我可以继续。谢谢。
flvtvl503#
在SQLServer中,可以使用可更新的cte。如果我理解正确,您需要一个连续的总和: