Re: How to use result column names in having cause

Поиск
Список
Период
Сортировка
От chris smith
Тема Re: How to use result column names in having cause
Дата
Msg-id 3c1395330603310418p6998e578n6e5c1e728c4aca91@mail.gmail.com
обсуждение исходный текст
Ответ на How to use result column names in having cause  ("Andrus" <eetasoft@online.ee>)
Список 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 по дате отправления:

Предыдущее
От: "Andrus"
Дата:
Сообщение: How to use result column names in having cause
Следующее
От: "deepak pal"
Дата:
Сообщение: how to use pg_dump in windows xp