数据库字段 乡代码 村代码 面积 版本
--------------------------------------------------
1 11 10 1
1 22 20 1
1 11 30 2
1 22 40 2现在将相同乡,村中版本1的面积加到版本2上 结果如下: 乡代码 村代码 面积 版本
--------------------------------------------------
1 11 10 1
1 22 20 1
1 11 40 2
1 22 60 2
--------------------------------------------------
1 11 10 1
1 22 20 1
1 11 30 2
1 22 40 2现在将相同乡,村中版本1的面积加到版本2上 结果如下: 乡代码 村代码 面积 版本
--------------------------------------------------
1 11 10 1
1 22 20 1
1 11 40 2
1 22 60 2
FROM 表
UPDATE T set 面积=面积+T2.面积 FROM T inner join T AS T2 ON T.乡代码=T2.乡代码 and T.村代码=T2.村代码 WHERE T.版本=2 and T2.版本=1
set 面积=面积+(select sum(面积) from 表2 where 表1.村代码=表2.村代码 and 版本=1 and 表1.乡代码=表2.乡代码)
where 版本=2
SELECT 乡代码,村代码,(SELECT SUM(面积) FROM 表 a WHERE a.乡代码 = 表.乡代码 AND a.村代码 = 表.村代码 AND a.版本 <= 表.版本) AS 面积,版本
FROM 表