| From: | "Nigel J(dot) Andrews" <nandrews(at)investsystems(dot)co(dot)uk> |
|---|---|
| To: | Greg Stark <gsstark(at)mit(dot)edu> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Problem with aliasing |
| Date: | 2003-02-21 15:28:47 |
| Message-ID: | Pine.LNX.4.21.0302211527260.26119-100000@ponder.fairway2k.co.uk |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On 21 Feb 2003, Greg Stark wrote:
> Jean-Christian Imbeault <jc(at)mega-bucks(dot)co(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2003-02-21 15:34:04 | Re: type casting a subselect as an interval |
| Previous Message | Roger Koot | 2003-02-21 14:42:28 | permissions |