Функция IfNull в MySQL, кажется, не работает для меня

Кажется, что функция IfNull в MySQL не работает для меня.... Когда я выполнил этот запрос

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'

Вот мой стол,

http://www.freeimagehosting.net/uploads/cf77e5a156.jpg

Любая угроза...

1 ответ

Вы можете попробовать использовать coalesce функция

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

если ваш идентификатор является числом, вы также можете удалить цитату:

coalesce(t1.dPaymentIncharge_2, 0)

Проверьте также, если ваш t1.dPaymentIncharge_1 может быть нулевым

Другие вопросы по тегам