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

SQL / Doctrine :Masalah Gabung Kiri

Kondisi Anda harus menjadi bagian dari klausa LEFT JOIN ... ON.

$q = $this->createQuery('c')
    ->leftJoin('c.stJob j WITH j.expires_at > ? AND j.is_activated = 1 AND j.is_public = 1', date('Y-m-d h:i:s', time()))
    ->addOrderBy('c.name');

Menempatkan kondisi di ON klausa (sebagai lawan dari WHERE ) menunjukkan bahwa mereka berlaku khusus untuk JOIN . Jika tidak ada baris yang memenuhi kondisi tersebut, tidak ada gabungan — dan itulah yang Anda inginkan dalam kasus ini. Menempatkan mereka di WHERE menunjukkan bahwa hasil baris harus memenuhi kondisi tersebut. Dan jelas jika tidak ada yang bergabung, Anda tidak dapat memuaskan apa pun ketentuan tentang j tabel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana mengonversi kursor SQL Server ke setara MySQL

  2. Apa yang dimaksud dengan Tabel tidak mendukung pengoptimalan, melakukan pembuatan ulang + analisis?

  3. Laravel Dari DB Mentah ke Fasih

  4. Grup Hasil Acak MySQL Berdasarkan Pesanan Oleh

  5. Mempercepat database wordpress besar (lambat)