Re: How to use result column names in having cause - Mailing list pgsql-general

From chris smith
Subject Re: How to use result column names in having cause
Date
Msg-id 3c1395330603310418p6998e578n6e5c1e728c4aca91@mail.gmail.com
Whole thread Raw
In response to How to use result column names in having cause  ("Andrus" <eetasoft@online.ee>)
List pgsql-general
On 3/31/06, Andrus <eetasoft@online.ee> wrote:
> CREATE TEMP TABLE foo( bar integer );
>
> SELECT 123 AS x
>   FROM foo
>   GROUP BY 1
>   HAVING x> AVG(bar)
>
> causes
>
> ERROR:  column "x" does not exist
>
> Why ? How to make this working ?
>
> In real application I have long expression instead of 123 and do'nt want
>  repeat this expression in HAVING clause.

You have to repeat the expression. "AS" changes the output name, it
can't be used either in the where clause or any other limiting factor
like 'having':

test=# create table t1(a int);
test=# insert into t1(a) values (1);
test=# SELECT a AS x from t1 where x=1;
ERROR:  column "x" does not exist

--
Postgresql & php tutorials
http://www.designmagick.com/

pgsql-general by date:

Previous
From: "Andrus"
Date:
Subject: How to use result column names in having cause
Next
From: "deepak pal"
Date:
Subject: how to use pg_dump in windows xp