Table AColumn1  Column2  Column3  Column4  Column5
049D     null     15       null     null
049D     16       null     null     null
049D     null     null     null     16
049D     null     null     15       null
050D     null     16       null     null
050D     17       null     null     null
050D     null     null     null     16
050D     null     null     15       null我要查询出TableB
Column1  Column2  Column3  Column4  Column5
049D     16       15       15       16
049D     17       16       15       16

解决方案 »

  1.   

    select Column1,
     max(nvl(Column2,0)) Column2,
     max(nvl(Column3,0)) Column3,
     max(nvl(Column4,0)) Column4,
     max(nvl(Column5,0)) Column5) from A group by Column1
      

  2.   

    select Column1, 
    max(nvl(Column2,0)) Column2, 
    max(nvl(Column3,0)) Column3, 
    max(nvl(Column4,0)) Column4, 
    max(nvl(Column5,0)) Column5 from A group by Column1
      

  3.   

    select Column1,
           max(Column2) Column2,
           max(Column3) Column3,
           max(Column4) Column4,
           max(Column5) Column5
      from A
     group by Column1
      

  4.   


    select column1,
           sum(to_number(column2)) column2,
           sum(to_number(column3)) column3,
           sum(to_number(column4)) column4,
           sum(to_number(column5)) column5
      from tableA
     group by column1;
      

  5.   

    select Column1, sum(Column2) Column2, sum(Column3) Column3, 
    sum(Column4) Column4, sum(Column5) Column5) 
    from A 
    group by Column1
      

  6.   


    select column1,
           sum(to_number(nvl(column2,0))) column2,
           sum(to_number(nvl(column3,0))) column3,
           sum(to_number(nvl(column4,0))) column4,
           sum(to_number(nvl(column5,0))) column5
      from tableA
     group by column1;
      

  7.   

    都想这么复杂,直接max + group by就行了.