Re: Problem with aliasing - Mailing list pgsql-general

From Nigel J. Andrews
Subject Re: Problem with aliasing
Date
Msg-id Pine.LNX.4.21.0302211527260.26119-100000@ponder.fairway2k.co.uk
Whole thread Raw
In response to Re: Problem with aliasing  (Greg Stark <gsstark@mit.edu>)
Responses Re: Problem with aliasing
List pgsql-general
On 21 Feb 2003, Greg Stark wrote:

> Jean-Christian Imbeault <jc@mega-bucks.co.jp> writes:
>
> > TAL=# select max(req_del_date1, req_del_date2, req_del_date3) as ma1 from
> > invoices where ma1 <= now();
> > ERROR:  Attribute "ma1" not found
> >
> > What is wrong with my syntax?
>
> Try either of:
>
>   SELECT max(req1, req2, req3) AS max FROM invoices WHERE max(req1, req2, req3) <= now()
>   SELECT * from (select max(req1, req2, req3) AS max FROM invoices) WHERE max <= now()
>
> Whichever seems clearer to you, I think postgres actually runs the two the
> same way. Note, you should mark your function immutable so postgres knows it
> can optimize the second case into the first.

Doesn't:

SELECT max(req1, req2, req3) AS ma1 FROM invoices HAVING ma1 <= now();

work?

Now I'm going to have to go see if I've got that wrong as well...


--
Nigel J. Andrews


pgsql-general by date:

Previous
From: Jean-Christian Imbeault
Date:
Subject: Re: Problem with aliasing
Next
From: Tom Lane
Date:
Subject: Re: type casting a subselect as an interval