Tom,
You are right about the ORDER BY CLAUSE, but the parser should be able
to rewrite the query so that I do not have to retype the whole thing...
Tom Lane wrote:
> 
> Jean-Luc Lachance <jllachan@nsd.ca> writes:
> > Can someone (Tom maybe) please tell me why one can not use an alias from
> > the select list in the where clause or the order by clause.
> 
> Eh?  You can do it in the ORDER BY clause:
> 
> regression=# select f1 as alias from int4_tbl order by alias;
>     alias
> -------------
>  -2147483647
>  -2147483647
>      -123456
>      -123456
>            0
>            0
>       123456
>       123456
>   2147483647
>   2147483647
> (10 rows)
> 
> As for WHERE, the reason you can't do it there is that it wouldn't be
> meaningful.  The SELECT list is not calculated until *after* the WHERE
> conditions are applied.  Any SQL book should tell you about the stages
> of processing of a SELECT query...
> 
>                         regards, tom lane