From: | Victor Yegorov <vyegorov(at)gmail(dot)com> |
---|---|
To: | Anil Menon <gakmenon(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Why does this SQL work? |
Date: | 2015-05-11 19:05:42 |
Message-ID: | CAGnEbojvNhei9qGhB4GTbgytAOhkD6rKZK+a=gS22qsz4DameQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
2015-05-11 19:26 GMT+03:00 Anil Menon <gakmenon(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2015-05-11 19:58:56 | Re: RPM building tools and info missing? |
Previous Message | hubert depesz lubaczewski | 2015-05-11 19:05:15 | Re: Why does this SQL work? |