有表,如下:
ID    1月份    2月份     3月份
1      1313     258      1545 
1      1545     2         1545
1               151         0
1                         151
2       1561    151       15 
2               0         1521
....要求相同ID的1-3月份的和
我写的如下 select ID ,sum(1月份+2月份+3月份)  from  table   group by ID但是有个问题,有些值为null,如果有null出现的话相加就为null了注:每个ID对应的条数是不一定得,为null的地方也是不一定的怎么解决null出现的问题,望解答,谢谢

解决方案 »

  1.   

    select id,sum(nvl(1月份,0) + nvl(2月份,0)+ nvl(3月份,0))  from  table  group by ID 
      

  2.   

    select id,sum(nvl(1月份,0) + nvl(2月份,0)+ nvl(3月份,0))  from  table  group by ID 
      

  3.   

    用nvl(x,y)y是当x为null时替换x的值
      

  4.   

    select id,sum(nvl(1月份,0) + nvl(2月份,0)+ nvl(3月份,0))  from  table  group by ID 
      

  5.   

    用nvl就可以了,select id,nvl(sum(nvl(1月份,0) + nvl(2月份,0)+ nvl(3月份,0))),0)  from  table  group by ID 
      

  6.   

    nvl最基本的oracle函数
    建议楼主多看看基础知识