Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengapa join kiri t-sql saya tidak berfungsi?

Alasannya adalah karena Anda memasukkan tabel sebelah kanan di WHERE ayat. Anda harus memindahkannya ke ON kondisi LEFT JOIN :

Select    P.appId, S.stepId, S.section, P.start
From      #appSteps    S   With (NoLock)
Left Join #appProgress P   On  S.stepId = P.stepId 
                           And P.appId = 101
Where     S.section Is Not Null

Alasan dilakukannya ini adalah karena WHERE klausa dievaluasi setelah LEFT JOIN , yang kemudian memfilter NULL . Anda hasil dari LEFT JOIN .

Termasuk tabel sebelah kanan dari LEFT JOIN (atau tabel sebelah kiri dari RIGHT JOIN ) di WHERE klausa secara efektif mengubah OUTER JOIN menjadi INNER JOIN .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengantar Tabel Sementara di SQL Server

  2. Cara Tercepat untuk Mendaftar Semua Basis Data di SQL Server menggunakan T-SQL

  3. SQL Dinamis (melewati nama tabel sebagai parameter)

  4. Hubungkan SAP IQ ke SQL Server

  5. Bagaimana cara membuat langkah di Pekerjaan Agen Server SQL saya yang akan menjalankan paket SSIS saya?