您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> sql更新语句,使当前记录值等于接着三条记录的值

sql更新语句,使当前记录值等于接着三条记录的值

来源:网络整理     时间:2016/7/29 22:50:13     关键词:

关于网友提出的“ sql更新语句,使当前记录值等于接着三条记录的值”问题疑问,本网通过在网上对“ sql更新语句,使当前记录值等于接着三条记录的值”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: sql更新语句,使当前记录值等于接着三条记录的值
描述:

表a有字段b,c(都是数值)
如何使当前记录b的值=接着5条记录的c的和呢?
c        b
1
2
3
4
5
         
执行更新语句后使b的值是接着三条记录的值呢?
c            b              b(包含本身记录)
1  (2+3+4) =9         1+2+3=6 
2   3+4+5  =12        2+3+4=9
3   4+5+6  =15        3+4+5=12
4   5      =5         4+5=  9
5          =0          5 =5


解决方案1:

建立一个表名为B的表
1.执行更新语句后使b的值是接着三条记录的值(ORACLE)
select C,DECODE((select sum(C) from (select ROWNUM A,C from B) A where (A.A > B.A) and (A.A < B.A + 4) ),NULL,0,(select sum(C) from (select ROWNUM A,C from B) A where (A.A > B.A) and (A.A < B.A + 4) )) B from (select ROWNUM A,C from B) B
2.包含本身记录(ORACLE)
select C,DECODE((select sum(C) from (select ROWNUM A,C from B) A where (A.A >= B.A) and (A.A < B.A + 3) ),NULL,0,(select sum(C) from (select ROWNUM A,C from B) A where (A.A >= B.A) and (A.A < B.A + 3) )) B from (select ROWNUM A,C from B) B


以上介绍了“ sql更新语句,使当前记录值等于接着三条记录的值”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3012026.html

相关图片

相关文章