Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle dan Gabung Luar Kiri

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membuat tabel Database dalam SQL, kesalahan aneh

  2. Oracle, Hubungkan Dengan rownum

  3. Bagaimana cara menampilkan karakter tersembunyi bidang dalam hasil kueri di Oracle?

  4. Teks pencarian Oracle dengan karakter non-bahasa Inggris

  5. Nonaktifkan implementasi JSF asli dari server webLogic dan gunakan implementasi myfaces