select 名称,(case when 数量=0 then 0 else sum(金额/数量) end)  as 单价,

解决方案 »

  1.   

    我用的是sql server 刚才忘记说了
      

  2.   

    to chjcwl(PBVC)
    sql server不支持上面你讲的语法呀
      

  3.   

    SQL SERVER支持,可查help "case"就可以了,
    如不行,把完整SQL贴出给你改改
      

  4.   

    Sql = "select dc_ykfx.dkhmc,dc_khxx.dkhmc as ddkhmc,round(sum(dsl),2) as dsl"
    Sql = Sql & ",(case when sum(dsl)=0 then 0 else round(sum(djjgje)/sum(dsl),2) end) as djjgdj"
    Sql = Sql & " group by dc_ykfx.dkhmc,dc_khxx.dkhmc"
    Sql = Sql & " order by ddkhmc,dc_ykfx.dkhmc"不是不不支持 sum(dsl)=0
    上面的就不通过
    说=的语法不对
      

  5.   

    不是from的问题,from我已加了,忘记贴了
    Sql = "select dc_ykfx.dkhmc,dc_khxx.dkhmc as ddkhmc,round(sum(dsl),2) as dsl"
    Sql = Sql & ",(case when sum(dsl)=0 then 0 else round(sum(djjgje)/sum(dsl),2) end) as djjgdj"
    Sql = Sql & " from dc_ykfx,dc_khxx"
    Sql = Sql & " where dkjrq>=" & sqlstr(Str_Kjrq_Where1) & " and dkjrq<=" & sqlstr(Str_Kjrq_Where2)
    Sql = Sql & " and dc_khxx.dbm= left(dc_ykfx.dkhbm,2)"
    Sql = Sql & " group by dc_ykfx.dkhmc,dc_khxx.dkhmc"
    Sql = Sql & " order by ddkhmc,dc_ykfx.dkhmc"
    Sql = Sql & " group by dc_ykfx.dkhmc,dc_khxx.dkhmc"
    Sql = Sql & " order by ddkhmc,dc_ykfx.dkhmc"