Pengguna tersebut memang kembali tetapi mereka kembali sebagai nol untuk semua kolom yang dikembalikan dalam tabel di mana gabungan kiri tidak menemukan gabungan yang tepat.
Karena bagaimana ANSI nulls workb4_.ACTIVE=1 akan tidak valid untuk catatan ini karena null <> 1
Coba restrukturisasi blok where Anda sebagai berikut:
AND (b4_.ACTIVE=1 or b4_.ACTIVE is null)
AND (B4_.STATUS='A' or B4_.STATUS is null)
AND (UB2_.VISIBLE=1 or UB2_.VISIBLE is null)
and (bl3_.ACTIVE=1 or bl3_.ACTIVE is null)
Cara lain untuk mengatasi ini adalah menambahkan prasyarat ke gabungan kiri Anda. Anda dapat melakukan seperti yang saya lakukan di bawah ini dan itu akan mengecualikan lencana di mana AKTIF <> 1 tidak termasuk lencana buruk dan masih mengembalikan semua pengguna.
left outer join
REWARD.BADGES b4_
on bl3_.BADGEID=b4_.ID
AND b4_.ACTIVE=1