consulta SELECT, Hacer operaciones con el resultado de otra columna
Publicado por Jorge (19 intervenciones) el 18/04/2017 17:09:46
Hola, buenos días, tengo una duda.
Supongamos que tuviese la siguiente consulta,
donde "a" y "monto" serían campos de la tabla "TB"
y OP1 es el nombre de la columna con los resultados de la operación
ahora la pregunta,
¿Cómo podría hacer otra columna con operaciones que dependan de los resultados de la columna OP1?
digamos así:
¿Se puede hacer algo así? (no se, con variables tal vez, pero no se como) 
le pongo DECLARE @miOP1 numeric(15,7) al comienzo pero
no se como asignarle el valor el valor de OP1
Supongamos que tuviese la siguiente consulta,
donde "a" y "monto" serían campos de la tabla "TB"
y OP1 es el nombre de la columna con los resultados de la operación
1
2
3
4
5
6
7
8
SELECT
monto,
CASE WHEN a=1 THEN (monto * 10)+(monto/51)
CASE WHEN a=2 THEN (monto + 28)+(monto*87)
CASE WHEN a=3 THEN (monto / 15)+(monto*1.158)
ELSE 0
END AS OP1
FROM TB
ahora la pregunta,
¿Cómo podría hacer otra columna con operaciones que dependan de los resultados de la columna OP1?
digamos así:
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
monto,
CASE WHEN a=1 THEN (monto * 10)+(monto/51)
CASE WHEN a=2 THEN (monto + 28)+(monto*87)
CASE WHEN a=3 THEN (monto / 15)+(monto*1.158)
ELSE 0
END AS OP1,
CASE WHEN OP1>0 THEN OP1*(-1)
CASE WHEN OP1<0 THEN OP1/5
ELSE 0
END AS OP2
FROM TB

le pongo DECLARE @miOP1 numeric(15,7) al comienzo pero
no se como asignarle el valor el valor de OP1

Valora esta pregunta


0