2
>________________________________ > De: Guillermo E. Villanueva <guillermo...@gmail.com> >Para: pgsql-es-ayuda <pgsql-es-ayuda@postgresql.org> >Enviado: Miércoles 6 de febrero de 2013 9:57 >Asunto: [pgsql-es-ayuda] Re: Uso de resultado de función en la misma >proyección o en el filtro > > >Respondiendome a mi mismo he visto en algunos foros que lo resuelven con una >subconsulta a nivel del from algo así como: > > >select > col_1, > col_2, > col_result, > case when col_result > 0 then 'L' else 'D' END col_4 >from >( > select > col_1, > col_2, > fn_funciondeusuario(parametros) col_result, > from > tablas >) as tablas2 ; > > >Mi intención era evitar que postgres haga el cálculo dos veces por cada tupla >del resultado, entonces reformulo mi pregunta si lo hago así: >select > col_1, > col_2, > fn_funciondeusuario(parametros) col_result, > case when fn_funciondeusuario(parametros) > 0 then 'L' else 'D' END col_4 >from > tablas; > >Postgres calcula 1 o 2 veces por cada tupla? > > >Guillermo Villanueva > > > >El 6 de febrero de 2013 11:39, Guillermo E. Villanueva ><guillermo...@gmail.com> escribió: > >Buenos días, gente hay posibilidad de utilizar el resultado de una función o >de un cálculo en la misma consulta para la misma tupla? >>por ejemplo >>select >> col_1, >> col_2, >> fn_funciondeusuario(parametros) col_result, >> case when col_result > 0 then 'L' else 'D' END col_4 >>from >> tablas; >> >> >>Si lo ejecuto así nomas me dice que no existe la columna col_result, lo que >>yo quiero es que no tenga que calcular 2 veces lo mismo. Es posible de alguna >>manera? >> >> >>Desde ya muchas gracias! >> >> >>Guillermo >> >> >> >> >> >> >> >> >> >> >>Guillermo Villanueva >> > > >