数据库字段    乡代码        村代码     面积      版本
--------------------------------------------------
      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.   

    SELECT 乡代码,村代码,(SELECT SUM(面积) FROM 表 a WHERE a.乡代码 = 表.乡代码 AND a.村代码 = 表.村代码 AND a.版本 <= 表.版本) AS 面积,版本
    FROM 表
      

  2.   

    随手写的,没有测试:
    UPDATE T set 面积=面积+T2.面积  FROM  T inner join T AS T2 ON T.乡代码=T2.乡代码 and T.村代码=T2.村代码 WHERE T.版本=2 and T2.版本=1
      

  3.   

    Update 表1 
    set 面积=面积+(select sum(面积) from 表2 where 表1.村代码=表2.村代码 and 版本=1 and 表1.乡代码=表2.乡代码) 
    where 版本=2
      

  4.   

    赞同leolan(史留香) 的
    SELECT 乡代码,村代码,(SELECT SUM(面积) FROM 表 a WHERE a.乡代码 = 表.乡代码 AND a.村代码 = 表.村代码 AND a.版本 <= 表.版本) AS 面积,版本
    FROM 表