我如何获得或SUM(IF())的MySQL(How I get OR to SUM(IF()) My

2019-10-18 08:33发布

我有个问题。 我需要找出来,如何把OR顺序如下:

SELECT ROUND(o.`total_products`  / c.`conversion_rate` - 
           (SUM(IF(pa.wholesale_price = "0" , p.wholesale_price, 
           pa.wholesale_price)*od.product_quantity)))

我需要用“0”像这样把OR在一起:

SELECT ROUND(o.`total_products`  / c.`conversion_rate` - 
           (SUM(IF(pa.wholesale_price = "0" OR "IS NULL", p.wholesale_price, 
           pa.wholesale_price)*od.product_quantity)))

我想这样的结果:如果pa.wholesale_price为零或行不存在,使用p.wholesale_price。 如果pa.wholesale_price存在,使用pa.wholesale_price。

有谁能够帮助我?

Answer 1:

尝试

IF((pa.wholesale_price = “0”)OR(pa.wholesale_price IS NULL)......



Answer 2:

IF(pa.wholesale_price = 0 OR pa.wholesale_price IS NULL, 
          p.wholesale_price, pa.wholesale_price)

或者更短:

IF(coalesce(pa.wholesale_price,0) = 0, p.wholesale_price, pa.wholesale_price)


文章来源: How I get OR to SUM(IF()) MySQL