日期:2014-05-17  浏览次数:20896 次

oracle两记录相减问题
有test表
T_ID       T_VALUE
1             100
2             200
3             300
4
5
用sql语句怎么实现第4、5条记录的T_VALUE由前面三条记录T_VALUE相减而得到。
如记录4的T_VALUE=300-200,记录5的T_VALUE=2OO-100。请高手指点!!!



------解决方案--------------------
update test set a.T_value=
(select sum(decode(t_id,2,T_value,-T_value)) from test where a.T_id= '1 ' or a.T_id= '2 ')
where a.T_id= '4 ' and exists(select * from test where a.T_id= '1 ' or a.T_id= '2 ')
------解决方案--------------------
递归,有意思.
------解决方案--------------------
等差数列,为什么不直接加上那个值呢.