Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gabung Luar Kiri tidak mengembalikan semua catatan dari tabel utama

Klausa where Anda mengubah gabungan luar kembali menjadi yang dalam.

Baris yang tidak cocok dipertahankan oleh outer join semua akan memiliki NULL nilai untuk documentation.status jadi documentation.status != 3 your Anda kondisi akan menyaring ini kembali (Hasil dari ekspresi NULL !=3 adalah unknown tidak true ).

Untuk menghindari masalah ini gunakan

select documentation_reference.ref_docnumber,
       documentation.filename
from   documentation_reference
       left outer join documentation
         on ref_docnumber = documentation.docnumber
            and documentation.status != 3
where  documentation_reference.docnumber = 'TP-036'  

Perhatikan bahwa documentation.status != 3 predikat dipindahkan ke JOIN kondisi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ER_CON_COUNT_ERROR:Terlalu banyak kesalahan koneksi di node-mysql

  2. kueri dinamis mysql dalam prosedur tersimpan

  3. memeriksa nilai di pohon kedalaman n?

  4. Dapatkan tanggal pertama dan terakhir bulan depan di MySQL

  5. Bagaimana cara menentukan ukuran transaksi maksimum di MySQL?