L'uso di ~
suggerisce che stai usando Postgres. In tal caso, le due query stanno facendo cose molto diverse. In Postgres, non includi la tabella in aggiornamento nel from
clausola.
Quindi, penso che tu voglia:
update fromemailaddress
set call = true
from email
where email.fromemailaddress = fromemailaddress.fromemailaddress and
LOWER(email.subject) ~ 'tester';
La tua versione sta aggiornando tutte le righe in fromemailaddress
perché non ci sono condizioni per collegare fromemailaddress
nell'update
clausola e fea
nel from
clausola.
Nota anche:il left join
non è necessario perché where
la clausola lo trasforma comunque in un inner join.