【问题标题】:How I get OR to SUM(IF()) MySQL我如何得到或到 SUM(IF()) MySQL
【发布时间】:2013-07-04 06:46:15
【问题描述】:

我有问题。我需要了解如何按此顺序放置 OR:

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

我需要像这样将 OR 与“0”放在一起:

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。

谁能帮帮我?

【问题讨论】:

  • COALESCE(pa.wholesale_price,0)=0 ?

标签: mysql sql select sum


【解决方案1】:

试试

IF((pa.wholesale_price = "0") OR (pa.wholesale_price IS NULL)......

【讨论】:

    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多