Re: Why does this SQL work?

Поиск
Список
Период
Сортировка
От Anil Menon
Тема Re: Why does this SQL work?
Дата
Msg-id CAHzbRKdZKhLTJx3jjwT4y=CBxfm7wB3NdDG6wD_RXedhv2U7KQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Why does this SQL work?  (Victor Yegorov <vyegorov@gmail.com>)
Список pgsql-general
Thank you very much - looks like I will have to prefix all cols.

Regards
AK

On Tue, May 12, 2015 at 3:05 AM, Victor Yegorov <vyegorov@gmail.com> wrote:
2015-05-11 19:26 GMT+03:00 Anil Menon <gakmenon@gmail.com>:
manualscan=> select count(*) From public.msgtxt where msgid in (select msgid From ver736.courier where org_id=3);
 count
-------
 10225
(1 row)

Please note, there is no msgid col in courier table. Which brings the question why does this SQL work? An "select msgid From courier where org_id=3" by itself gives error column "msgid" does not exist.

Because you can reference both, inner and outer columns from the inner query.
Here you're most likely referring to the outer `msgid` in the subquery.

That's why it is always a good idea to prefix all your columns with tables aliases.


--
Victor Y. Yegorov

В списке pgsql-general по дате отправления:

Предыдущее
От: "Wayne E. Seguin"
Дата:
Сообщение: Re: [BDR] Node Join Question
Следующее
От: Steve Kehlet
Дата:
Сообщение: Re: finding tables about to be vacuum freezed