Re: BUG #14919: Invalid column in sub select is still a valid select
От | Marko Tiikkaja |
---|---|
Тема | Re: BUG #14919: Invalid column in sub select is still a valid select |
Дата | |
Msg-id | CAL9smLCcQZo8pZcF0XNxkus3Y_3zprdXJXNMi7hx7XLS3EOCYw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #14919: Invalid column in sub select is still a valid select (Tanes Sriviroolchai <tanes@siamscan.net>) |
Ответы |
Re: BUG #14919: Invalid column in sub select is still a valid select
|
Список | pgsql-bugs |
On Mon, Nov 20, 2017 at 3:49 PM, Tanes Sriviroolchai <tanes@siamscan.net> wrote:
Really? The fact that 1st statement doen't end in exception throwing is ok? (While the same sub select executes with exception throwing.)
select * from a where id=(select id from b where descr='A');
Because "b" doesn't have a column called "id", this is the same as:
select * from a where id=(select a.id from b where descr='A');
and that's a valid, though slightly silly, query. In other words, you accidentally wrote a correlated subquery. Some people consider it good practice to qualify column references with the name of the table when there's more than one column in scope. If you had written:
select * from a where id=(select b.id from b where b.descr='A');
you would have noticed that you made a mistake, due to the exception this query raises.
.m
В списке pgsql-bugs по дате отправления: