再问个比较弱智的问题:如何避免SQL语句中的除0错误?

Persistent8813 2004-08-11 04:58:28
:-)
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Persistent8813 2004-08-12
  • 打赏
  • 举报
回复
SELECT 商品编码,SUM(数量) AS 数量,IIf(SUM(IIf(数量>0,数量,0))>0,SUM(IIf(金额>0,金额,0))/SUM(IIf(数量>0,数量,0)),0) AS 价格

这样应该没问题了。

是不是思路不对,这么烦琐
Persistent8813 2004-08-11
  • 打赏
  • 举报
回复
我是在求库存的加权平均价,唉,晕了
ralpha08 2004-08-11
  • 打赏
  • 举报
回复
改为
SELECT 商品编码,SUM(数量) AS 数量,SUM(IIf(数量>0,数量*价格,0))/SUM(IIf(数量>0,数量,1)) AS 价格

因为如果数量小于零的话 除数:IIf(数量>0,数量*价格,0) 返回一个0 被除数随便返回一个部位0 的数字就可以

数量大于零,除数返回的是数量,也不为零
qybao 2004-08-11
  • 打赏
  • 举报
回复
能不能再多做一次判断?
SELECT 商品编码,SUM(数量) AS 数量,SUM(IIf(数量>0,数量*价格,0))/(CASE WHEN SUM(IIf(数量>0,数量,0))>0 THEN SUM(IIf(数量>0,数量,0)) ELSE 1 END) AS 价格
Persistent8813 2004-08-11
  • 打赏
  • 举报
回复
SELECT 商品编码,SUM(数量) AS 数量,SUM(IIf(数量>0,数量*价格,0))/SUM(IIf(数量>0,数量,0)) AS 价格

如上

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧