I can't see why the SELECT below finds 7065 records, but the update says it updates 13935 records, which is every record in the table.
Can anyone suggest why?
superfrr=# select count(*) from fromemailaddress LEFT JOIN email ON
(email.fromemailaddress = fromemailaddress.fromemailaddress)
WHERE LOWER(email.subject) ~ 'tester';
count
-------
7065
But:
superfrr=# update fromemailaddress set call=true from fromemailaddress
as fea LEFT JOIN email ON (email.fromemailaddress = fea.fromemailaddress)
WHERE LOWER(email.subject) ~ 'tester';
UPDATE 13935
countdoes not include null values?COUNT(*)includes everything,NULLvalues included and also if a row containsNULLvalues entirely ( example SQLFiddle )update FEAinstead ofupdate fromemailaddress- how many rows are being updated ? :)