Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/02/2011, 17:15
Marrselo
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: IFNULL ('campo','alias' )

Cita:
Iniciado por leonardo_josue Ver Mensaje
Mira, según algunos autores no es recomendable anidar más de 5 niveles en sentencias IF-ELSE o CASE-WHEN tanto en programación como en base de datos.
En todo caso puedes utilizar un SWITCH O CASE en programación o un CASE-WHEN, pero no en su forma de búsqueda, me explico. En Base de Datos la sentencia CASE-WHEN se comporta de dos maneras

Case de búsqueda:

CASE WHEN numero = 1 THEN 'uno' ELSE
CASE WHEN numero = 2 THEN 'dos' ELSE
CASE WHEN numero = 3 THEN 'tres'
END
END
END

Case Sencillo:

CASE numero
WHEN 1 THEN 'uno'
WHEN 2 THEN 'dos'
WHEN 3 THEN 'tres'
END

En ambos casos el resultado sería semejante, pero si observas en el primer ejemplo estás anidando tres CASE-WHEN, mientras que en el caso del CASE Sencillo es un solo CASE.

Por lo tanto, depende de tu lógica de negocio, pero si tienes un buen diseño no tendrás necesidad de usar tanta anidación

Saludos
Leo.
Muy amable con la respuesta, muy explicativo tambien gracias, caso cerrado