有一个数据表abc,如下:
工号  姓名    日期      工作小时  加班小时  请假小时
a1    张三    09.07.4      8         3         0
a1    张三    09.07.5      4         2         3
a2    李四     09.7.4      8         3        2
a2    李四     09.7.6      8         2        0将abc数据表,按姓名将某个月的工作小时,加班小时,请假小时进行汇总,然后将结果存于数据表def中,如下
  工号   姓名     日期     工作总计    加班总计    请假总计
  a1     张三      09.07     12           5           3
  a2     李四      09.07     16           5           5
def数据表中,不能出现相同记录。请大家多多赐教,感激万分!!!!

解决方案 »

  1.   

    你是怎么统计的如果是sql直接统计(这个就是要对日期进行一定的处理再统计,不知道你的日期是什么类型的)的可以

    insert into def ()
    select ... from abc group by..
    来插入
      

  2.   

    这个可以用游标处理,一条一条的加进表def里。
      

  3.   

    工号+日期,做联合索引。
    然后
    select 工号,  姓名, 年月, sum(工作小时),sum(加班小时),sum(请假小时)
    into def
    from
      select 工号,  姓名, left(日期, 5) as 年月, 工作小时,  加班小时,  请假小时 
      from abc
    group by 工号,  姓名, 年月