各位查询编写者,
我有一个如下的表:
myTable t1
col2 col3
2 1
3 0
4 0
5 0
6 0
我希望将col3中的每个零更新为前一行的col3值加上当前行的col2值。因此,我的表格应该如下所示:
myTable t1
col2 col3
2 1
3 4 (1+3)
4 8 (4+4)
5 13 (5+8)
6 19 (6+13)
我在这里缺少逻辑,可能是目光短浅。我尝试使用以下代码进行光标操作:
DECLARE @var3 FLOAT
DECLARE cursor3 CURSOR FOR
SELECT col2, col3 FROM table1
FOR UPDATE OF col3
OPEN cursor3
FETCH FIRST FROM cursor3
WHILE (@@FETCH_STATUS > -1)
BEGIN
UPDATE @table1
SET col3 = isnull(@var3, 0) + isnull(col2, 0)
WHERE CURRENT OF cursor3
FETCH NEXT FROM cursor3 INTO @var3
END
但是这是错误的。有什么想法吗?谢谢提前。