Ver Mensaje Individual
  #1  
Antiguo 10-11-2016
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Reputación: 21
ronalg Va por buen camino
Se puede Usar CASE WHEN, IF() O IIF() DENTRO DE LA CLAUSULA WHERE

Muy buenas:

tengo un procedimiento almadenado en firebird que me retorna un cojunto de datos, el procedimiento ya me funciona pero ahora necesito hacer que dicho procedimento "filtre" de acuerdo a un parametro que envio a ella.

Mi pregunta se puede hacer algo así en la sentencia WHERE
Código SQL [-]
select a.codigo, a.numero_cv, a.tipo_transaccion
from tb_compras_ventas a
where
   case
      when :cod_cliente>-1 then a.ref_cliente=:cod_cliente
      when :cod_cliente=-1 then --no hacer nada

talvez sea un disparate pero bueno, la idea es:

Si el parámetro cod_cliente es -1 (Que devuelva todos los registros de todos los clientes)
Si el parámetra cod_cliente es >1 (que devuelva todos los registros de ese cliente)

Mil gracias de antemano
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita