mysql - 如何在 WHERE 子句中使用 IF 语句

标签 mysql sql

如何在 WHERE 中使用 IF 语句?下面的代码不起作用

SELECT item.item_id, 
       item.item_name, 
       item.item_qty 
IF(sell.product_qty IS NULL, item.item_qty, item.item_qty - SUM(sell.product_qty)),
       sell.date_order, 
       sell.date_shipping
FROM item
     OUTER JOIN sell
                ON item.item_id = sell.product_item_id
WHERE NOW() BETWEEN sell.date_order AND sell.date_shipping

最佳答案

您应该使用 CASE 语句。

CASE WHEN sell.product_qty IS NULL THEN item.item_qty 
ELSE item.item_qty - SUM(sell.product_qty) END

关于mysql - 如何在 WHERE 子句中使用 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34868339/

相关文章:

mysql - 用于论坛的 CouchDB?

mysql - 表上的连接查询

javascript - 将表单值从 PHP 文件传递​​到另一个 PHP 文件

php - 什么是用于保存具有共享子类别的分层标签云/类别的正确 SQL(MySQL) 数据结构?

java - 自定义 SQL 函数在 Tomcat 的 axis2 内部不起作用

c# - 如何使用 LLBLGen 连接具有条件的表?

php - 如何将我的 CMS 用户与 WordPress 用户同步?

MySQL 条件自连接

sql - 像 Farmville 这样的在线游戏使用什么数据库?

php - 使用 jQuery (ajax) 和 PHP 插入我的数据库