mysql - 在 select 上减去 2 列可以防止第二列上出现 NULL 而不使用 IF?

标签 mysql

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

现在我实现销售,但我的产品排序问题不再正确。

例如ASC:

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

在产品表上,我有价格,在销售表上,我有产品成本低的值(value)(上面的例子是 2 欧元)。 所以我离开了销售表,并在 SELECT 语句中执行 (productprice - salevalue) AS pricesort .

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

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

(10 - 空) = 空 -> (10 - 空) = 10

最佳答案

使用productprice - IFNULL(salevalue, 0) AS 价格排序。如果 x 不为空,则 IFNULL(x, y) 返回 x,如果为空,则返回 y

关于mysql - 在 select 上减去 2 列可以防止第二列上出现 NULL 而不使用 IF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56795319/

相关文章:

mysql - 创建 View : MySQL Inner join aliases

php - 通用while循环遍历mysql查询结果

mysql - Sql 查询 : count distinct row values relative to other row value 问题

php向表中插入空白数据

mysql - SQL 服务器 openquery - "Key column information is insufficient or incorrect. Too many rows were affected by update."

php - Laravel 对象数据被覆盖了吗?

函数内的mysql查询(插入)无法执行

php - 我在 MySQL 中存储 token 时遇到困难

python - 使用 python 的字典创建一个通用的 MySQL 插入字符串

mysql - Google Big Query - 连接年份范围