【发布时间】:2018-06-08 17:26:48
【问题描述】:
我遇到了以下 SQL UPDATE 语句,它计算表中的运行总计列:
UPDATE N1 SET
RunningTotal = (SELECT SUM (SubTotal)
FROM #Sales X1
WHERE
N1.FiscalYear = X1.FiscalYear AND
X1.OrderNumber <= N1.OrderNumber)
FROM
#Sales N1
我以前没有见过这种模式,并且由于搜索SQL语句的困难,我一直无法找到解释。具体来说,我想知道上面的语句是如何更新整个表的;循环是如何发生的?
注意:该语句工作正常;在SSMS中看到的前后结果如下:
(我在 Windows 10 x64 上使用 SQL Server 2017 社区版。)
【问题讨论】:
标签: sql sql-server cumulative-sum