Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Sumar columnas calculadas



Leete algo acerca de la definicion de las funciones porque si reciben
los mismo valores no vuelven a ejecutarse (si no entendí mal) creo
haber leido algo asi segun se definen como STABLE,VOLATILE, etc.

Saludos.

2008/4/29 Calabaza <calalinux(at)gmail(dot)com>:
> 2008/4/29 Arturo <arturomunive(at)gmail(dot)com>:
>
>
>  >  SELECT
>  >  campo 1,
>  >  campo 2,
>  >  funcion1(campo3),
>  >  funcion2(campo4),
>  >  (funcion1(campo3) * funcion 2(campo4))
>  >  FROM
>  > ...
>
>  >  donde las funciones pueden ser calculo pesado
>
>  >  Entonces yo creo que al usar asi las funciones cada una se ejecuta dos
>  > veces
>  >  Mi pregunta es, existe algo como:
>
>  >  SELECT
>  >  campo 1 as "R1",
>  >  campo 2 as "R2",
>  >  funcion1(campo3) as "R3",
>  >  funcion2(campo4) as "R4",
>  >  ("R3" * "R4") as "R5",
>  >  FROM
>  >  ...
>
>  >  Obviamente asi no funciona (si no no lo preguntaría), pero hay alguna forma
>  > de hacer eso????
>
>  Podrias hacerlo con subconsultas, o vistas...
>
>  Veamos:
>  Select
>  x.*,
>  (x.R3 * x.R4) as R5
>  from
>
> (
>  SELECT
>  campo 1 as "R1",
>  campo 2 as "R2",
>  funcion1(campo3) as "R3",
>  funcion2(campo4) as "R4"
>  from ...
>  ) as x
>
>
>  >  Igual mientras tanto, sigo buscando por internet, si encuentro algo les
>  > aviso, si lo encuentran ustedes igual :)
>
>  La subconsulta la puedes enviar a una vista y luego el otro select
>  sale más facil... como mejor te parezca..
>  puedes darte una vuelta por:
>
>  http://www.postgresql.org/docs/7.4/static/queries-table-expressions.html
>
>  Ah! ojo que el link es para la version que yo uso, tu deberías buscar
>  para la version que tú utilizas...
>
>  Saludos!
>  --
>  §~^Calabaza^~§ from Villa Elisa, Paraguay
>  --
>  TIP 8: explain analyze es tu amigo
>



-- 
Informático:
Persona falta de recursos que, partiendo de premisas falsas y de
especificaciones inconsistentes e incompletas, dirigido por
incompetentes y utilizando herramientas que no funcionan es capaz de
iniciar un proyecto de dudoso éxito realizando una obra de arte que
,por supuesto, es cara y no tiene otro fin que dar prestigio a la
empresa que ha contratado sus servicios.



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group