Re: using calculated column in where-clause
От | Scott Marlowe |
---|---|
Тема | Re: using calculated column in where-clause |
Дата | |
Msg-id | dcc563d10806181347q1a72c861i6a2d99f38853fee8@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: using calculated column in where-clause ("Fernando Hevia" <fhevia@ip-tel.com.ar>) |
Ответы |
Re: using calculated column in where-clause
|
Список | pgsql-sql |
On Wed, Jun 18, 2008 at 1:35 PM, Fernando Hevia <fhevia@ip-tel.com.ar> wrote: > >> -----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. I was under the impresion from previous discussions that the query planner flattened these out to be the same query. Do you get different query plans when you re-arrange this way?
В списке pgsql-sql по дате отправления: