Re: Bug #938: Wrong UPDATE if exist INNER JOIN and alias for table - Mailing list pgsql-bugs

From Tom Lane
Subject Re: Bug #938: Wrong UPDATE if exist INNER JOIN and alias for table
Date
Msg-id 26536.1049810963@sss.pgh.pa.us
Whole thread Raw
In response to Bug #938: Wrong UPDATE if exist INNER JOIN and alias for table  (pgsql-bugs@postgresql.org)
List pgsql-bugs
pgsql-bugs@postgresql.org writes:
> UPDATE test1 SET value = 10 FROM test1 t1 INNER JOIN test2 ON t1.extid=test2.extid WHERE t1.id=1;

> This expression update all record i table "test1".

Yup, that's what it should do.  "FROM test1 t1" adds an additional table
reference that's unconnected to the update target table.  You should
have written

UPDATE test1 SET value = 10
FROM test2 WHERE test1.extid=test2.extid AND test1.id=1;

            regards, tom lane

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: Bug #938: Wrong UPDATE if exist INNER JOIN and alias for table
Next
From: Stephan Szabo
Date:
Subject: Re: Bug #938: Wrong UPDATE if exist INNER JOIN and alias