表1
年   月   员工   总工资
5     1    员1     0
5     1    员2     0
5     1    员3     0
5     1    员4     0
5     1    员5     0
5     1    员6     0表2
年   月   员工   总工资
5     1    员1     12
5     1    员2     17
5     1    员3     18
5     1    员4     20
5     1    员3     16
5     1    员4     17
5     1    员5     19
5     1    员5     18
5     1    员6     16
5     1    员1     14
5     1    员2     15
5     1    员3     16
5     1    员4     17
5     1    员5     19
5     1    员6     20
5     1    员6     16
5     1    员1     14
5     1    员2     15
5     1    员3     16说明:以员工为分组合计表2中每个员工在05年1月份总工资后,将结果插入到表1总工资的相应字段中。如何实现呢?

解决方案 »

  1.   

    update t1 set t1.总工资=B.总工资 from
    (select 员工,sum(总工资) as 总工资 from t2 group by 员工) as B
    where t1.员工=B.员工
      

  2.   


    update T1 set T1.总工资 = T2.总工资
    from 表1 T1 
    left join (
    select 年, 月, 员工, sum(总工资)
    from 表2
    group by 年, 月, 员工
    ) T2  on T1.年 = T2.年 and T1.月= T2.月 and T1.员工 = T2.员工
      

  3.   

    sorry;忘记给汇总的表设字段名了;
    修改如下:update T1 set T1.总工资 = T2.总工资
    from 表1 T1 
    left join (
    select 年, 月, 员工, sum(总工资) 总工资
    from 表2
    group by 年, 月, 员工
    ) T2  on T1.年 = T2.年 and T1.月= T2.月 and T1.员工 = T2.员工