0

mysql 中的 IfNull 函数似乎对我不起作用....当我执行此查询时

select t1.dAccHeader_id,t1.dAccHeaderName,t1.dAccHeaderAcronym,
t2.dDesignationName as incharge1,
t3.dDesignationName as incharge2,t4.dDesignationName as incharge3
from tbl_accountheader as t1
inner join tbl_designation_master as t2 on t2.dDesignation_id = t1.dPaymentIncharge_1
inner join tbl_designation_master as t3 on t3.dDesignation_id = ifnull(t1.dPaymentIncharge_2,'0')
inner join tbl_designation_master as t4 on t4.dDesignation_id = ifnull(t1.dPaymentIncharge_3,'0')
and t1.dCollege_id='1'
and t1.dIsDelete='0'

这是我的桌子,

我的桌子

任何建议...

4

1 回答 1

0

您可以尝试使用coalesce功能

inner join tbl_designation_master as t3 
      on t3.dDesignation_id = coalesce(t1.dPaymentIncharge_2,'0')

如果您的 id 是一个数字,您还可以删除引号

coalesce(t1.dPaymentIncharge_2, 0)

还要检查你是否t1.dPaymentIncharge_1可以为空

于 2010-02-19T12:17:24.510 回答