Re: Problem with aliasing
От | Nigel J. Andrews |
---|---|
Тема | Re: Problem with aliasing |
Дата | |
Msg-id | Pine.LNX.4.21.0302211542550.26119-100000@ponder.fairway2k.co.uk обсуждение исходный текст |
Ответ на | Re: Problem with aliasing ("Nigel J. Andrews" <nandrews@investsystems.co.uk>) |
Список | pgsql-general |
On Fri, 21 Feb 2003, Nigel J. Andrews wrote: > 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... Obviously I got the wrong end of the stick but any way, I was wrong that column aliases could be used for group by and having clauses. At least that's what 7.2.3 is telling me. -- Nigel J. Andrews
В списке pgsql-general по дате отправления: