Re: using calculated column in where-clause - Mailing list pgsql-sql

From Fernando Hevia
Subject Re: using calculated column in where-clause
Date
Msg-id 022001c8d17a$827b67c0$8f01010a@iptel.com.ar
Whole thread Raw
In response to using calculated column in where-clause  (Patrick Scharrenberg <pittipatti@web.de>)
Responses Re: using calculated column in where-clause  ("Scott Marlowe" <scott.marlowe@gmail.com>)
List pgsql-sql
> -----Mensaje original-----
> De: pgsql-sql-owner@postgresql.org 
> [mailto:pgsql-sql-owner@postgresql.org] En nombre de Patrick 
> Scharrenberg
> Enviado el: Martes, 17 de Junio de 2008 17:46
> Para: pgsql-sql@postgresql.org
> Asunto: [SQL] using calculated column in where-clause
> 
> Hi!
> 
> I'd like to do some calculation with values from the table, 
> show them a new column and use the values in a where-clause.
> 
> Something like this
> select a, b , a*b as c from ta where c=2;
> 
> But postgresql complains, that column "c" does not exist.
> 
> Do I have to repeat the calculation (which might be even more complex
> :-) ) in the "where"-clause, or is there a better way?
> 

For complex calculations I have obtained better performance using nested
queries. For example:

select a, b, c select   ( select a, b, a*b as c from ta) subquery1
where c = 2;

This nesting is probably overhead in such a simple case as this, but in more
complex ones and specially with volatile functions it will provide an
improvement.

Regards,
Fernando.



pgsql-sql by date:

Previous
From: "Rafael Domiciano"
Date:
Subject: Re: index find method?
Next
From: "Scott Marlowe"
Date:
Subject: Re: using calculated column in where-clause