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あなたがnullになることができるかどうかも確認してください

于 2010-02-19T12:17:24.510 に答える