From: | Alexander Levsha <levsha(dot)alexander(at)gmail(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | SQL query syntax question |
Date: | 2016-04-04 07:23:06 |
Message-ID: | CALVauw3b4XPEzO0+GB1yjmN3Lm_9d5W_C2gWGcYid65W32Oo7Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hello all.
I'm currently developing an SQL parser/analyzer for internal PostgreSQL
tool we use at my workplace.
Naturally, i use psql in conjunction with PostgreSQL documentation to
develop and verify my work.
Recently i've noticed the following oddity in query syntax/execution:
select (select c1 from tt) from t1 tt;
--ERROR: relation "tt" does not exist
--LINE 1: select (select c1 from tt) from t1 tt;
select (select tt.c1 ) from t1 tt;
--c1
------
--(0 rows)
Why doesn't the first one work when the second one works fine? In other
words, why do subquery's traget list and range table list use different
namespaces to resolve table references/aliases? Is this an unintended
behaviour, implementation detail or is there an actual reason for this?
Thanks for your help. Alexander Levsha
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2016-04-04 07:54:10 | Re: SQL query syntax question |
Previous Message | Alexander Levsha | 2016-04-04 07:19:35 | SQL query syntax question |