Reutilizar funcion sin afectar desempeño

01/06/2009 - 17:44 por Firefox | Informe spam
Hola, tengo una funcion escalar que devuelve un valor moneda (tipo
money :D) y tengo varias columnas en el select que utilizan dicha
funcion. Ahora lo que quiero es no tener que llamar a la misma funcion
varias veces en el select por ejemplo SELECT myfuncion(id), myfuncion
(id)-50, etc (lo que se me ocurra). no puedo calcular estos montos
fuera del select puesto que dependiendo de los join toma el dato
correspondiente. Mil gracias por anticipado.
 

Leer las respuestas

#1 Rubén Vigón
01/06/2009 - 18:17 | Informe spam
Puedes usar una subconsulta y un alias; por ejemplo

SELECT
subcons.MiResultado,
subcons.MiResultado - 50,
subcons.MiResultado - 75,
subcons.MiResultado * 10,
subcons.MiResultado + 25
FROM (
SELECT myfuncion(id) AS MiResultado FROM tabla WHERE condiciones
) AS subcons

Un saludo!

Rubén Vigón
http://vigon.mvps.org

Preguntas similares