我希望有人可以帮我解决以下问题。
我有一个有两个价格的数据库。首先是正常价格和折扣价。 如果价格超过' 100'运费是免费的' 0'否则值为10.
折扣价并不总是有价值。因此,我需要首先弄清楚是否只有正常价格或折扣价格,并且根据结果我需要确定运费是否为10' 10或者' 0'。
我在语句时尝试了两种情况,但代码无效:
CASE WHEN D.product_override_price > 0.01 then round (D.product_override_price,2) else round (D.product_price * J.vat) when < 100 then 10.00 else 0.00 END as Shipping_Cost
我很乐意得到一些帮助或建议如何解决这个问题。
谢谢
答案 0 :(得分:0)
使用两个CASE语句:
CASE
WHEN (
CASE
WHEN D.product_override_price > 0.01
THEN round (D.product_override_price,2)
ELSE round (D.product_price * J.vat)
END) < 100
THEN 10.00
ELSE 0.00
END as Shipping_Cost
答案 1 :(得分:-1)
在when
中错过左操作数有一个小错误。
CASE WHEN D.product_override_price > 0.01 then round (D.product_override_price,2) else round (D.product_price * J.vat) when < 100 then 10.00 else 0.00 END as Shipping_Cost
将其更改为:
修改强>
CASE WHEN (CASE WHEN D.product_override_price > 0.01 then round (D.product_override_price,2) else round (D.product_price * J.vat) END) < 100 then 10.00 else 0.00 END as Shipping_Cost
希望它能奏效。