首页 > 解决方案 > 处理嵌套查询mysql中的NULL值

问题描述

我正在尝试使用以下查询将 NULL 替换为 0。但是当结果不为 NULL 时,它只获取不是要求的最大值。我尝试删除 max 函数,但它返回 NULL。

下面是查询。

select (select coalesce(max(QTIB_REQ_), 0) 
  from qb_requisitions_all 
 where QTIB_REQ_ IN ($Req_disabled_WA) 
   and CLIENT___BENCH___NON_BILLABLE IN ( 'Non Billable', 'Non-Billable', 'NonBillable') 
   and DATEDIFF(CURDATE(),TARGET_FILL_DATE) < 30 
   and DATEDIFF(CURDATE(),TARGET_FILL_DATE) > 0
   )

在此处输入图像描述

在此处输入图像描述

标签: mysql

解决方案


尝试在最大聚合中添加 IFNULL

select (select max(IFNULL(QTIB_REQ_, 0))
from qb_requisitions_all 
where QTIB_REQ_ IN ($Req_disabled_WA) and CLIENT___BENCH___NON_BILLABLE IN ( 'Non 
 Billable', 'Non-Billable', 'NonBillable') 
 and DATEDIFF(CURDATE(),TARGET_FILL_DATE) < 30 
 and DATEDIFF(CURDATE(),TARGET_FILL_DATE) > 0

推荐阅读