以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于select语句的一个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91410)

--  作者:czy66ds
--  发布时间:2016/10/10 12:06:00
--  关于select语句的一个问题

Select 条码,(Case 数量 when 0 Then 0 Else 成交金额 / 数量 End) As 成交价, 成交金额,Round(成交金额 / (数量*标准价),2 ) As 折扣,业务员,日期 f rom {销售表}


为了规避折扣列因数量或标准价为零时出现错误,该如何写?


--  作者:有点蓝
--  发布时间:2016/10/10 14:08:00
--  
还是case when

Select 条码,(Case 数量 when 0 Then 0 Else 成交金额 / 数量 End) As 成交价, 成交金额,(Case  when 数量 = 0 or 标准价=0 Then 0 Else Round(成交金额 / (数量*标准价),2 ) End) As 折扣,业务员,日期 f rom {销售表}