Re: syntax for access an alias in the where clause ?

Lists: pgsql-sql
From: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
To: pgsql-sql(at)postgresql(dot)org
Subject: syntax for access an alias in the where clause ?
Date: 2002-06-19 18:03:28
Message-ID: 3D10C770.7040100@shifted-bytes.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Hi !

It's long ago since I used SQL :-)

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 ?

M.


From: Wei Weng <wweng(at)kencast(dot)com>
To: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: syntax for access an alias in the where clause ?
Date: 2002-06-19 19:56:19
Message-ID: 1024516580.20296.8.camel@Monet
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Is it allowed to use spaces in postgresql alias?

Why dont you try to use alias1 instead of "alias 1"?

On Wed, 2002-06-19 at 14:03, Michael Agbaglo wrote:
> Hi !
>
> It's long ago since I used SQL :-)
>
> 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 ?
>
> M.
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>
--
Wei Weng
Network Software Engineer
KenCast Inc.


From: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
To: Wei Weng <wweng(at)kencast(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: syntax for access an alias in the where clause ?
Date: 2002-06-19 21:13:31
Message-ID: 3D10F3FB.6090706@shifted-bytes.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

Wei Weng wrote:

> Is it allowed to use spaces in postgresql alias?
>
> Why dont you try to use alias1 instead of "alias 1"?

really amusing... muhahaha...

I don't use the brackets either... I didn't assume that you might be
interested in how the expression looks like or what aliases I'm using...

>
>
> On Wed, 2002-06-19 at 14:03, Michael Agbaglo wrote:
>
>>Hi !
>>
>>It's long ago since I used SQL :-)
>>
>>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 ?
>>
>>M.
>>
>>
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>>
>>


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: syntax for access an alias in the where clause ?
Date: 2002-06-19 21:23:16
Message-ID: 7447.1024521796@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

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


From: Jeff Eckermann <jeff_eckermann(at)yahoo(dot)com>
To: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>, pgsql-sql(at)postgresql(dot)org
Subject: Re: syntax for access an alias in the where clause ?
Date: 2002-06-19 22:04:27
Message-ID: 20020619220427.58854.qmail@web20810.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

The WHERE clause is evaluated before the SELECT list,
at which point the value of "[alias 1]" is not known.
You will need to use "[expression 1]" there instead.

ORDER BY is evaluated after the SELECT, so "[alias 1]"
can be used there with no problems.

--- Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
wrote:
> Hi !
>
> It's long ago since I used SQL :-)
>
> 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 ?
>
> M.
>
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to
majordomo(at)postgresql(dot)org

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com


From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: syntax for access an alias in the where clause ?
Date: 2002-06-19 22:11:38
Message-ID: 20020619150938.U78365-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

On Wed, 19 Jun 2002, Michael Agbaglo wrote:

> Hi !
>
> It's long ago since I used SQL :-)
>
> 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 ?

At least in postgres, no, because the where clause is processed before the
select list so the alias doesn't have meaning. I believe the SQL spec
says no as well.


From: "Ross J(dot) Reedstrom" <reedstrm(at)rice(dot)edu>
To: Michael Agbaglo <byteshifter(at)shifted-bytes(dot)de>
Cc: Wei Weng <wweng(at)kencast(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: syntax for access an alias in the where clause ?
Date: 2002-06-19 23:56:22
Message-ID: 20020619235622.GA3650@rice.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

On Wed, Jun 19, 2002 at 11:13:31PM +0200, Michael Agbaglo wrote:
>
>
> Wei Weng wrote:
>
> >Is it allowed to use spaces in postgresql alias?
> >
> >Why dont you try to use alias1 instead of "alias 1"?
>
>
>
> really amusing... muhahaha...

I'm sure he didn't mean to make a joke, nor ridicule you, it was just a
misundertanding.

> I don't use the brackets either... I didn't assume that you might be
> interested in how the expression looks like or what aliases I'm using...

Sometimes, it makes all the difference. In this case, it doesn't. Aliases
are not available in the 'order by' clause: you need to repeat te full
expressions there.

Ross

>
>
> >
> >
> >On Wed, 2002-06-19 at 14:03, Michael Agbaglo wrote:
> >
> >>Hi !
> >>
> >>It's long ago since I used SQL :-)
> >>
> >>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 ?
> >>
> >>M.
> >>
> >>
> >>
> >>
> >>---------------------------(end of broadcast)---------------------------
> >>TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
> >>
> >>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org