我的表中有两个字段 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/