Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de> writes:
> select [expression 1] as [alias 1], [expression 2] as [alias 2]
> where [alias 1] < [alias 2]
> order by [alias 2] - [alias 1]
> ---> ERROR: Attribute '[alias 1]' not found
> I found a lot of 'select [expression] as' but I've never seen somebody
> accessing the alias ... Can't this be done ?
No, it can't, and the reason is that the WHERE clause is logically
evaluated before the SELECT list is (in fact, the SELECT list will
never be evaluated at rows where the WHERE clause returns false).
It would be circular to refer to SELECT outputs in WHERE.
regards, tom lane