select sum(TotalPrice) +  (select sum(TotalPrice) from SpecialRoom) from  roomcontract如果select sum(TotalPrice) from SpecialRoom)里面没有值的话 查询出来就是NULL所以这条语句相加结果都会为null  
现在就是要判断  如果他为null 的话 就赋值为0
应该怎么判断

解决方案 »

  1.   

    select sum(TotalPrice) + isnull((select sum(TotalPrice) from SpecialRoom),0)
     from roomcontract
      

  2.   

    select sum(TotalPrice) + (select isnull(sum(TotalPrice),0) from SpecialRoom) from roomcontract
      

  3.   

    --还可以这样
    select sum(TotalPrice) from
    (
    select  TotalPrice  from roomcontract
    union all
    select  TotalPrice  from SpecialRoom
    ) as t
      

  4.   

    系统函数 isnull(字段名, 你想要的数据)
    意思是如果查询时该字段有空值的话,把后面的值填充到该空值里面
    如isnull(sum(TotalPrice),0)
      

  5.   


    ----用isnull
    select sum(TotalPrice) + (select isnull(sum(TotalPrice),0) from SpecialRoom) 
    from roomcontract
      

  6.   

    select
     sum(TotalPrice) + isnull((select sum(TotalPrice) from SpecialRoom),0)
    from
     roomcontract
      

  7.   

    select sum(isnull(TotalPrice,0)) + 
           (select sum(isnull(TotalPrice,0)) from SpecialRoom) 
    from roomcontract