From: | Alexander Levsha <outcastatsabre(at)gmail(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | SQL query syntax question |
Date: | 2016-04-04 07:19:35 |
Message-ID: | CA+FA-0pjG4r4WSagO+V3BNyyBeu3fbdc9oKnaqFYDSkXWK+EZA@mail.gmail.com |
Views: | Whole Thread | Raw Message | 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 | Alexander Levsha | 2016-04-04 07:23:06 | SQL query syntax question |
Previous Message | Selina Tech | 2016-03-30 17:56:52 | Re: how plsql work on postgresql |