PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Rails menyertakan kueri dengan kondisi tidak mengembalikan semua hasil dari tabel kiri

Jika Anda menambahkan WHERE kondisi pada kolom kanan tabel setelah LEFT JOIN , Anda memaksanya untuk bertindak seperti INNER JOIN .

Solusi

Tarik ekspresi ke atas ke dalam kondisi ke LEFT JOIN .
Menurut halaman manual yang Anda mengutip sendiri :

Dan:

Anda mungkin salah membaca kalimat itu.

Ini harus melakukan apa yang Anda inginkan:

Post.joins('LEFT OUTER JOIN images ON images.post_id = posts.id
                                  AND images.service_name = $$acme$$')

Saya bukan ahli Ruby, tetapi mengambil dari manual di sini .
Tidak yakin bagaimana cara menghindari tanda kutip tunggal, jadi saya beralih ke kutipan dolar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ekstrak bagian numerik pertama dari bidang

  2. Instal psycopg2 di Ubuntu

  3. Masalah memesan karakter beraksen di PostgreSQL 8.4

  4. pekerjaan pgAgent gagal dengan kesalahan otentikasi

  5. Postgres:Pesan berdasarkan kolom string dengan nilai yang diketahui