我有一个奇怪的更新查询要写。
这是桌子
PK-ID (int) --- FK-ID (int) --- Value (int)
在我的数据集中,如果我按 FK-ID 分组并按 PK-ID 排序,假设这是一组示例:
5 --- 10 --- 23
7 --- 10 --- 49
8 --- 10 --- 81
由于某些旧软件中的错误,记录 7 和 8 的值不正确。7 的正确值是 (49-23) = 26,8 的正确值是 (81-49) = 32。记录 5 是正确的。
当它按 FK-ID 分组并按 PK-ID 排序时,我需要更新每条记录以减去它之前的记录的值。如果没有前面的记录,我不需要更改该值。
有没有办法编写一个通用的 sql 更新查询来完成这个?我将如何(有条件地)检索组中先前记录的值?我正在使用 SQL Server 2008。
谢谢!