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

Re: Sumar columnas calculadas

From: "Silvio Quadri" <silvioq(at)gmail(dot)com>
To: "Jose Luis Balle" <joseluisballe(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Sumar columnas calculadas
Date: 2008-04-30 16:59:53
Message-ID: 61dc71dc0804300959p7abe1a09n796e13c9f5d7e294@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El día 29 de abril de 2008 17:05, Jose Luis Balle
<joseluisballe(at)gmail(dot)com> escribió:
> 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.

Tenés que definir como "immutable" para determinar que el
procedimiento, a igual parámetros, devolverá igual resultado.
Lamentablemente podría especificarte ahora si aplica a la ejecución o
a la confección del plan.
Silvio

>
>  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.
>  --
>  TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
>



-- 
Silvio Quadri

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2008-04-30 18:00:50
Subject: Re: Sumar columnas calculadas
Previous:From: Alvaro HerreraDate: 2008-04-30 15:58:17
Subject: Re: Transacciones en PG

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group