case when  sumT1=0  then  0  else sumV1/sumT1 end

解决方案 »

  1.   

    select strID, Sum(intR1Valid) as sumV1,Sum(intR1Total) as sumT1,sngR1Rate=(case when Sum(intR1Total) is null then null else Sum(intR1Valid)/Sum(intR1Total) end) from tbReportLog Group by strID order by strID
      

  2.   

    使用nullif函數處理
    select sumV1/nullif(sumT1 ,0),sumT1時就返回null
      

  3.   

    搞错了,
    select strID, Sum(intR1Valid) as sumV1,Sum(intR1Total) as sumT1,sngR1Rate=(case when isnull(Sum(intR1Total),0)=0 then null else Sum(intR1Valid)/Sum(intR1Total) end) from tbReportLog Group by strID order by strID
      

  4.   

    谢谢各位。另外,null做分母可以吗?
      

  5.   

    case when 
    可以解决