--判斷
CASE WHEN END 

解决方案 »

  1.   


    我这个SQL 里面的 计算公式要怎么修改才可以 解决那个错误
    ,(sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/(sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) SELECT  mdtsb.cpcode as cpcode,cpcode.name as cpname,mdtsb.sb_ym as sbym,sb_zzs_2003_ybnsr.sssq_q as sssq_q,sb_zzs_2003_ybnsr.sssq_z as sssq_z,(sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/(sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) as sfl
    FROM mdtsb INNER JOIN
          cpcode ON mdtsb.cpcode = cpcode.code INNER JOIN
          sb_zzs_2003_ybnsr ON cpcode.nsrdj_no = sb_zzs_2003_ybnsr.nsrsbh
    where sb_zzs_2003_ybnsr.sbbl='1'
    group by mdtsb.cpcode,cpcode.name,mdtsb.sb_ym,sb_zzs_2003_ybnsr.sssq_q,sb_zzs_2003_ybnsr.sssq_z,(sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/(sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt)
      

  2.   

    SELECT  mdtsb.cpcode as cpcode,cpcode.name as cpname,mdtsb.sb_ym as sbym,sb_zzs_2003_ybnsr.sssq_q as sssq_q,sb_zzs_2003_ybnsr.sssq_z as sssq_z,(sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/case (sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) when 0 then 1 else sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt end as sfl
    FROM mdtsb INNER JOIN
          cpcode ON mdtsb.cpcode = cpcode.code INNER JOIN
          sb_zzs_2003_ybnsr ON cpcode.nsrdj_no = sb_zzs_2003_ybnsr.nsrsbh
    where sb_zzs_2003_ybnsr.sbbl='1'
    group by mdtsb.cpcode,cpcode.name,mdtsb.sb_ym,sb_zzs_2003_ybnsr.sssq_q,sb_zzs_2003_ybnsr.sssq_z,(sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/(sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt)
      

  3.   

    TRY:
    SELECT  mdtsb.cpcode as cpcode,cpcode.name as cpname,mdtsb.sb_ym as sbym,sb_zzs_2003_ybnsr.sssq_q as sssq_q,sb_zzs_2003_ybnsr.sssq_z as sssq_z,
         case (sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) when 0 then 0 else (sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/(sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) end as sfl
    FROM mdtsb INNER JOIN
          cpcode ON mdtsb.cpcode = cpcode.code INNER JOIN
          sb_zzs_2003_ybnsr ON cpcode.nsrdj_no = sb_zzs_2003_ybnsr.nsrsbh
    where sb_zzs_2003_ybnsr.sbbl='1'
    group by mdtsb.cpcode,cpcode.name,mdtsb.sb_ym,sb_zzs_2003_ybnsr.sssq_q,sb_zzs_2003_ybnsr.sssq_z,
         case (sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) when 0 then 0 else (sb_zzs_2003_ybnsr.ynse+mdtsb.mdse)/(sb_zzs_2003_ybnsr.sysl_yshw_xse+mdtsb.usd_amt) end