PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres SQL SELECT и UPDATE се държат различно

Използването на ~ предполага, че използвате Postgres. Ако е така, двете заявки правят много различни неща. В Postgres не включвате актуализираната таблица в from клауза.

И така, мисля, че искате:

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

Вашата версия актуализира всички редове в fromemailaddress тъй като няма условие за свързване на fromemailaddress в update клауза и fea в from клауза.

Също така имайте предвид:left join е ненужен, защото where клауза така или иначе го превръща във вътрешно съединение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Може ли услугата PostgreSQL в клъстер OpenShift да получава външен трафик чрез открит маршрут

  2. Разрешението за дъмп на Postgresql е отказано

  3. PostgreSQL - не можа да идентифицира оператор за равенство за тип json

  4. Сортирайте NULL стойности в края на таблица

  5. PG::ConnectionBad:ФАТАЛНО:неуспешно удостоверяване на парола за потребител alphauser