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

Postgres SQL SELECT dan UPDATE berperilaku berbeda

Penggunaan ~ menunjukkan bahwa Anda menggunakan Postgres. Jika demikian, kedua kueri melakukan hal yang sangat berbeda. Di Postgres, Anda tidak menyertakan tabel yang diperbarui di from klausa.

Jadi, saya rasa Anda ingin:

update fromemailaddress
    set call = true 
    from email
    where email.fromemailaddress = fromemailaddress.fromemailaddress and
          LOWER(email.subject) ~ 'tester';

Versi Anda memperbarui semua baris di fromemailaddress karena tidak ada syarat untuk menghubungkan fromemailaddress di update klausa dan fea di from klausa.

Perhatikan juga:left join tidak perlu karena where klausa mengubahnya menjadi gabungan dalam.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ruby on Rails:Apakah ada cara untuk menarik item dari database dan mengembalikannya dalam urutan tertentu?

  2. Cara menggunakan lokasi fisik baris (ROWID) dalam pernyataan DELETE

  3. Buat Alias ​​​​Secara Massal?

  4. Bisakah Anda membuat urutan pada kolom yang sudah ada di Postgres

  5. Saya memiliki hasil yang berbeda dari kueri untuk COUNT('e.id') atau COUNT(e.id)