表table1中的记录如下:
表头:numid  a1   a2    a3     a4      month
     0001   20   null  null   null    2007-01
     0001   null  30   null   null    2007-01
     0001   null  null 40     null    2007-01
     0001   null  null null    50     2007-01希望的结果是把四条记录合成一条,如下:
      0001   20     30   40     50     2007-01
望高手给予指点!

解决方案 »

  1.   

    select numid,  sum(a1),   sum(a2),    sum(a3),     sum(a4),    month
    from tablename
    group by numid, month
      

  2.   

    select numid,nvl(sum(nvl(a1,0)),0),nvl(sum(nvl(a2,0)),0),nvl(sum(nvl(a3,0)),0),nvl(sum(nvl(a4,0)),0),month from table1 group by numid,month;
      

  3.   


    select tt.numid,
           max(tt.a1),
           max(tt.a2),
           max(tt.a3),
           tt.month
      from table1 tt
     group by tt.numid,tt.month;