mysql - 带条件的 CASE 语句

标签 mysql if-statement case

我的表中有两个字段 cust_shipmentdate_awb 和 comp_shipdate_awb。我正在尝试编写一个 CASE 语句,该语句应检查 cust_shipmentdate_awb 和 comp_shipdate_awb 两个字段是否为空或为空。如果两者都为 Null,则将结果显示为“待处理”。如果任何一个字段不为空,则它应显示为“已完成”,并且如果输入两个字段也应显示为“已完成”。我已经尝试过下面的 CASE 语句。但当输入两个字段数据时,它显示待定。

    CASE    
When cust_shipmentdate_awb Is Null Or cust_shipmentdate_awb = '' Then 'Pending'   
Else 'Completed' End AS shipment_status

最佳答案

使用子查询。

SELECT CASE WHEN shipment_date Is Null Or shipment_date = '' 
            THEN 'Pending' 
            Else 'Completed' 
        End AS shipment_status
FROM (
    SELECT CASE 
            When commercial_logi_freight.cust_shipmentdate_awb Is Null Or 
commercial_logi_freight.cust_shipmentdate_awb = '' 
            Then commercial_logi_freight.comp_shipdate_awb
            Else commercial_logi_freight.cust_shipmentdate_awb 
        End AS shipment_date
    FROM ...) AS x

关于mysql - 带条件的 CASE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39263199/

相关文章:

mysql - mysqli 中用于选择和加入的案例用法

php - 使用 PHP 和 HTML Select 创建多个 MySQL 过滤器

mysql - 根据 SQL 中的其他两列计算不同的属性值

java - 在java中将多个if语句组合为一个输入

sql - 如果数字为 0.00,如何显示文本值 'X'。 SQL Server、存储过程

case - VHDL 案例语句中的选项顺序

mysql - 两个表数据之间的映射

php - Joomla 数据库查询列参数 OS 事件管理器

if-statement - 在SASS中的if语句中使用 "each loop variables"

python - "else"在 Python 中被认为是有害的?