consulta sql dinamica

27/08/2009 - 13:53 por Claudio | Informe spam
Hola grupo,

necesito hacer lo siguiente :

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, (y aca esta el
pb) tabla.campo4/camponuevo (donde este, sale de calculos de las columnas
anteriores) from tabla..

muchas gracias
salu2
Claudio

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
27/08/2009 - 14:14 | Informe spam
No es necesario usar SQL dinámico para eso.

Podrías hacer esto:

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo,
tabla.campo4/((tabla.campo1/tabla.campo2)*tabla.campo3/100) from tabla

O bien

SELECT campo1, campo2, camponuevo, campo4/camponuevo
FROM (
select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, tabla.campo4
from tabla) t

O con una CTE... en fin, que tienes varias opciones.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"Claudio" wrote in message
news:
Hola grupo,

necesito hacer lo siguiente :

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, (y aca esta el
pb) tabla.campo4/camponuevo (donde este, sale de calculos de las columnas
anteriores) from tabla..

muchas gracias
salu2
Claudio

Respuesta Responder a este mensaje
#2 Claudio
29/08/2009 - 00:21 | Informe spam
Carlos, gracias por la rta,

en realidad no se si quedo claro mi consulta o no entiendo bien tu rta :

el campo "camponuevo" se genera a partir de campos de la misma tabla que
leo, pero Yo quiero usarlo como valor en proximos campos de la misma
consulta, sin tener que repetir todas las cuentas entre campos anteriores,
que me entregaron Camponuevo.
Le quise agregar una Constante a la consulta para asignarle el resultado de
una cuenta y usarlo en otros campos de la misma consulta , pero el sql me
dice
"No debe combinarse una instruccin SELECT que asigne un valor a una variable
con operaciones de recuperacin de datos."
Salu2

Claudio

"Carlos Sacristan" escribió en el mensaje
news:%23Natt$
No es necesario usar SQL dinámico para eso.

Podrías hacer esto:

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo,
tabla.campo4/((tabla.campo1/tabla.campo2)*tabla.campo3/100) from tabla

O bien

SELECT campo1, campo2, camponuevo, campo4/camponuevo
FROM (
select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, tabla.campo4
from tabla) t

O con una CTE... en fin, que tienes varias opciones.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"Claudio" wrote in message
news:
Hola grupo,

necesito hacer lo siguiente :

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, (y aca esta
el pb) tabla.campo4/camponuevo (donde este, sale de calculos de las
columnas anteriores) from tabla..

muchas gracias
salu2
Claudio




Respuesta Responder a este mensaje
#3 Carlos Sacristan
31/08/2009 - 09:34 | Informe spam
En la segunda opción, o bien a través de una CTE, no tienes que escribir más
que una única vez la fórmula necesaria para calcular "camponuevo". No llego
a entender tu problema...

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"Claudio" wrote in message
news:O62%
Carlos, gracias por la rta,

en realidad no se si quedo claro mi consulta o no entiendo bien tu rta :

el campo "camponuevo" se genera a partir de campos de la misma tabla que
leo, pero Yo quiero usarlo como valor en proximos campos de la misma
consulta, sin tener que repetir todas las cuentas entre campos anteriores,
que me entregaron Camponuevo.
Le quise agregar una Constante a la consulta para asignarle el resultado
de una cuenta y usarlo en otros campos de la misma consulta , pero el sql
me dice
"No debe combinarse una instruccin SELECT que asigne un valor a una
variable con operaciones de recuperacin de datos."
Salu2

Claudio

"Carlos Sacristan" escribió en el mensaje
news:%23Natt$
No es necesario usar SQL dinámico para eso.

Podrías hacer esto:

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo,
tabla.campo4/((tabla.campo1/tabla.campo2)*tabla.campo3/100) from tabla

O bien

SELECT campo1, campo2, camponuevo, campo4/camponuevo
FROM (
select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, tabla.campo4
from tabla) t

O con una CTE... en fin, que tienes varias opciones.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


"Claudio" wrote in message
news:
Hola grupo,

necesito hacer lo siguiente :

select tabla.campo1, tabla.campo2,
(tabla.campo1/tabla.campo2)*tabla.campo3/100 as camponuevo, (y aca esta
el pb) tabla.campo4/camponuevo (donde este, sale de calculos de las
columnas anteriores) from tabla..

muchas gracias
salu2
Claudio








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida