PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Postgres SQL SELECT và UPDATE hoạt động khác nhau

Việc sử dụng ~ gợi ý rằng bạn đang sử dụng Postgres. Nếu vậy, hai truy vấn đang làm những việc rất khác nhau. Trong Postgres, bạn không bao gồm bảng đang được cập nhật trong from mệnh đề.

Vì vậy, tôi nghĩ bạn muốn:

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

Phiên bản của bạn đang cập nhật tất cả các hàng trong fromemailaddress vì không có điều kiện kết nối fromemailaddress trong update mệnh đề và fea trong from mệnh đề.

Cũng lưu ý:left join là không cần thiết vì where mệnh đề biến nó thành một liên kết bên trong.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ILIKE Match Word Boundaries PostgreSQL 9

  2. Giải pháp của Multiple ResultSets được trả về bởi truy vấn

  3. 5 cách để kiểm tra xem một bảng có tồn tại trong PostgreSQL hay không

  4. Truy vấn SQL Rails với% Ký tự đại diện hoạt động trong SQLite nhưng không hoạt động trong PostgreSQL?

  5. Chuyển đổi giữa các múi giờ trong Postgres