在select上减去2列可以防止使用IF在第二列上显示NULL?

时间:2019-06-27 16:31:30

标签: mysql

在我的商店中,我可以按价格升序和降序订购产品。

现在我实现销售,并且我的产品不能正确排序了。

例如ASC:

  1. 产品1:10欧元
  2. 产品2:11€(-2€)= 9€

在产品表上我有价格,在销售表上我有多少产品成本降低的价值(例如,高于2欧元)。 因此,我退出了销售表,并在SELECT语句中执行了(productprice - salevalue) AS pricesort

问题:
如果某产品没有销售,则连接值为NULL,如果我从productprice中减去null,则为NULL。

如果我使用IF减去salevalue = NULL,有什么方法可以防止productprice变为NULL吗?

(10-NULL)= NULL->(10-NULL)= 10

1 个答案:

答案 0 :(得分:1)

使用productprice - IFNULL(salevalue, 0) AS pricesort。如果IFNULL(x, y)不为null,则x返回x,如果不是,则返回y