【发布时间】:2016-01-17 11:10:48
【问题描述】:
如果我的上一行与当前行相同,我如何更新当前行值。
当前行是 68,前一行也是 68.. 我想将当前行更新为 68-20,即 48。
98-20 = 78 相同。
我有超过 1000 条这样的记录,无法手动一条一条地更新记录。
update table1 set DIH_QTY_BALANCE=DIH_QTY_BALANCE-DIH_REORDER_QTY
WHERE 如何将上一行与当前行放在 where 子句上?
这是架构 + 数据: http://pastebin.com/T1tYDT6Y
对于 sqlfiddle 来说太大了。
任何帮助都会很棒。
【问题讨论】:
-
如何定义以前的记录?关系数据库没有这个概念,因为每个查询可能对记录进行不同的排序。
-
我按日期排序,哪个较旧的将是前一行,或者 DIHISTORYID 较旧的将是前一行...
-
为输入数据创建一个sqlfiddle。
-
模式和数据添加到问题