Re: BUG #5898: Nested "in" clauses hide bad column names

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Scott Dunbar" <scott(at)xigole(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5898: Nested "in" clauses hide bad column names
Date: 2011-02-22 17:45:03
Message-ID: 3314.1298396703@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Scott Dunbar" <scott(at)xigole(dot)com> writes:
> I have a nested in clause like:

> select respondent_id from respondent where respondent_id in (select
> respondent_id from chat_session where project_id in (select project_id from
> project where company_id = 4));

> However, in this example, there is no column named respondent_id in the
> chat_session table.

Probably there is one in respondent, though? This behavior is not a bug
--- what you have there is an outer reference, and it is working exactly
as specified by the SQL standard. Sub-selects would be a whole lot less
useful if they couldn't refer to variables of the outer query.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Scott Dunbar 2011-02-22 18:07:39 Re: BUG #5898: Nested "in" clauses hide bad column names
Previous Message Scott Dunbar 2011-02-22 17:26:25 BUG #5898: Nested "in" clauses hide bad column names