On Mon, Jun 28, 2021 at 8:34 AM PG Doc comments form <nore...@postgresql.org>
wrote:

> For example:
> UPDATE table1 SET status='expired' WHERE id in (SELECT wrong_id IN table2)
>
> This will update every row in table1if wrong_id doesn't exist, ignoring the
> ERROR:  column "wrong_id" does not exist from the subquery.
>

The subquery never provokes that error by virtue of the fact it is a
subquery.  It's only if you run that as a standalone query do you see the
error.  This is because correlated subqueries are a thing (and, yes, they
are documented).

https://wiki.postgresql.org/wiki/FAQ#Why_doesn.27t_PostgreSQL_report_a_column_not_found_error_when_using_the_wrong_name_in_a_subquery.3F

David J.

Reply via email to