急求一sql写法,谢谢!!!

theodo 2008-03-10 07:13:10
有一张表如下:

字段: aaa bbb date
记录: 10 10 2008-01-01
10 20 2008-01-02
10 30 2008-01-03
20 50 2008-01-04
20 70 2008-01-05

说明:本天bbb值=等于上一天的bbb值+本天的aaa值,急求批量更新的sql写法,例如更新2008-01-03以后的,谢谢!
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonybao 2008-03-11
  • 打赏
  • 举报
回复
update table A set bbb = aaa + (select bbb from table date+1 = a.date)

学到了!~~
richard360347477 2008-03-11
  • 打赏
  • 举报
回复
如果记录是唯一的话,可以像楼上所说的那样做,不过日期应该改成:to_date(date,‘yyyy-mm-dd’)的形式才能保证跨越的准确性;

我建议该表增加一个字段,用来存储aaa+bbb,不然楼主的数据可要全部毁掉了
bzszp 2008-03-10
  • 打赏
  • 举报
回复
或者:

UPDATE TB A SET BBB = (SELECT SUM(AAA) FROM TB B WHERE B.DATE<A.DATE)
WHERE A.DATE>TO_DATE('2008-01-03','YYYY-MM-DD');
chensi05 2008-03-10
  • 打赏
  • 举报
回复
楼上正解
DragonBill 2008-03-10
  • 打赏
  • 举报
回复
update table A
set bbb = aaa + (select bbb from table where date+1=A.date)

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧