Error from Sub-Select, Simple Example.

From: Ian Harding <iharding(at)tpchd(dot)org>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Error from Sub-Select, Simple Example.
Date: 2003-07-30 09:51:34
Message-ID: 3F279526.7090106@tpchd.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

OK, here's the deal. It seems that in this particular situation, if you
reference an UNQUALIFIED field name in a subselect, the parser thinks it
is just fine as long as that field name exists SOMEWHERE in the
referenced tables Then, the error that gets generated gets lost in the
mail.

create table one (
oneid int,
onevalue text not null);

create table two (
twoid int,
twovalue text);

insert into one (oneid, onevalue)
select 1,
case when two.twovalue is null then (select twovalue from one where
oneid = 1)
else two.twovalue end
from one left outer join two on one.oneid = two.twoid;

This causes the not null constraint to fire, but if you run the
subselect by itself, you get

select twovalue from one where oneid = 1;
ERROR: Attribute "twovalue" not found

Is this a known issue? I know I should qualify field names where
confusion might occur, but where did my error go?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Deepa K 2003-07-30 11:37:43 ERROR STRINGS IN PGSQL
Previous Message Devrim GUNDUZ 2003-07-30 09:50:28 Re: PostgreSQL consultant