SQLServer语法(要求不使用游标)
单表T
字段 a(int) b(int) c(int) d(int)
1 0 0 10
2 10 5 Null
3 20 10 Null
4 30 15 Null
a字段自增,所需结果如下
字段 a(int) b(int) c(int) d(int)
1 0 0 10
2 10 5 15
3 20 10 25
4 30 15 40
过程 根据a自增, 累加d(初始为10) d=d+(b-c)
单语句Update如何写
update T
set d=(select isnull(sum(b-c),0) from T TT where TT.a<=T.a)+(select d from T where a=1)
a b c d
----------- ----------- ----------- -----------
1 0 0 10
2 10 5 15
3 20 10 25
4 30 15 40
本文介绍了一种在SQLServer中使用单语句更新表的方法,特别适用于需要根据自增字段进行累积计算的情况。示例展示了如何在不使用游标的情况下,通过子查询实现d字段的累积更新。
3636

被折叠的 条评论
为什么被折叠?



