Función decode

Quiero hacer un sentencia que diga:
si (clave_operación= 10 y Código_tipomensaje = 0210) es cierto entonces suma el campo cantidad_balance,
el valor que me interesa es la suma de las transacciones con estas condiciones.
Todos estos campos(clave_operacion, codigo_tipomensaje y cantidad balance) están en una tabla llamada transacciones, mi duda es hay algún if en pl-sql o esto se puede hacer con el decode.

1 respuesta

Respuesta
1
La funcion decode es el unico if puedes usar, de otra forma tendrias que crearte tu una funcion y llamarla, pasarla los parametros y que ella te devolviese lo que tu creas conveniente..
umm, o.que gracias, oye tengo problemas de sintaxis podrías echarme una manita, con estas dos opciones que tengo gracias.
select clave_operacion,
codigo_mensaje,
cantidad_balance
from transacciones
decode(clave_operacion||codigo_mensaje,'100210',sum(cantidad_balance,0));
select clave_operacion, codigo_tipo_mensaje, cantidad_balance from transacciones
decode(clave_operacion,'10',decode(codigo_tipo_mensaje,'0210'),sum(cantidad_balance,0));
Yo lo que haría es lo siguiente
Primera:
select sum(nvl(cantidad_balance,0))
from transacciones
where clave_operacion||codigo_mensaje = '100210';
-------------------------------------------------------------------
Segunda:
select sum(nvl(cantidad_balance,0))
from transacciones
where clave_operacion = '10'
and codigo_tipo_mensaje = '0210';
Mil gracias, en efecto termine concatenando los campos para poder usar el decode, gracias por tu ayuda y tiempo, cuando empieza uno a ver resultados esto de programar es bonito, buen día =)
Quedo :
to_char(decode(campo1!campo2,'datos a validar'), sum(campo3), 0)
! Es barrita pero en ese teclado no lo encontré

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas