lunes, febrero 11

Sentencias IF Anidadas en MySql

Hoy voy a hablar sobre la sentencia IF de mysql, la cual resulta muy util en consultas, un ejemplo muy sencillo de usarla seria el siguiente:

Supongamos que tenemos la tabla resultados, y verificamos si el campo minimo es menor que 3, si es asi entonces Semaforo valdra "Rojo", de lo contrario valdra "Amarillo":

if(resultados.minimo < 3, "Rojo","Amarillo") as Semaforo

Es un if sencillo, la primer coma seria el THEN, la segunda coma indica el ELSE.

En cualquier lenguaje de Programacion, los if anidados son muy comunes y faciles de codificar, pero por que no hacerlo tambien en Mysql, si, si se puede, veamos el siguiente ejemplo:

Tomemos la misma tabla de nombre resultados, la cual contiene los siguientes datos:



resultados.resultado
meta.meta
meta.minimo
meta.satisfactorio
meta.sobresaliente

Ahora, vamos a usar sentencias IF anidadas para verificar en que rango de la meta cae resultados.resultado y poner una variable llamada semaforo para que nos indique rojo,amarillo o verde, esta variable la podemos usar ya sea para una Grafica o simplemente para indicara al usuario que el resultado esta en determinada luz, y pues quedaria asi:


if (resultados.resultado <=meta.minimo,"Rojo",

( if(resultado.valor between meta.minimo and meta.satisfactorio,"Amarillo","Verde"))

) as Semaforo

Si resultados.resultado <= meta.minimo, entonces semaforo Rojo y aqui entra el ELSE Si resultado.resultado esta entre minimo y satisfactorio entonces semaforo amarillo de lo contrario semaforo Verde. Listo, ya hicimos IF's anidados. Siguiente tema: Crear pivotes en mysql.

No hay comentarios: