The WHERE is executed before the SELECT. The value of a is not available to
the WHERE clause as it is assigned at the end of the query.
To actually make your query work it would have to read:
select * from (select 1 as a) as b where a = 1
The from provides the data that the where will operate on, the select then
determines what to be returned.
On Fri, 8 Apr 2016 at 18:41 <hector.bejarano@gmail.com> wrote:
> The following bug has been logged on the website:
>
> Bug reference: 14079
> Logged by: Hector Bejarano
> Email address: hector.bejarano@gmail.com
> PostgreSQL version: 9.5.0
> Operating system: Ubuntu 14
> Description:
>
> This query works:
> select 1 as a
>
> But this one fails:
> select 1 as a where a = 1
>
> And I think they should both work.
>
> Regards,
> Hector.
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>