以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sql查询中分母为0怎么办? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99730) |
-- 作者:happyft -- 发布时间:2017/4/25 18:39:00 -- sql查询中分母为0怎么办? SE LECT 产品编码, sum(数量) as 数量,sum(数量)/(Se lect sum(数量) from 订单明细 a inner join 订单 b on a.订单编号 = b.订单编号 where XXX) as 占比 当上面的语句分母为0时就会出错,现在想这样处理,如果分母为0就置分母为1,0/1也是0就没有关系,这样可以用case when一次就写出来吗?怎么写? (先声名个变量查询出总数然后if判断那种不考虑) 谢谢! |
-- 作者:rjh4078 -- 发布时间:2017/4/25 19:20:00 -- SE LECT 产品编码, sum(数量) as 数量, (case when (Se lect sum(数量) from 订单明细 a inner join 订单 b on a.订单编号 = b.订单编号 where XXX)=0 then sum(数量)/1 else sum(数量)/(Se lect sum(数量) from 订单明细 a inner join 订单 b on a.订单编号 = b.订单编号 where XXX) end )as 占比 |
-- 作者:HappyFt -- 发布时间:2017/4/26 8:21:00 -- 谢谢老师! |