hola marrselo, si hubieras revisado un poco el código de hubieras dado cuenta que el error con el segundo ejemplo fue que la condición que puse es edad < 17. Bastaba con cambiarla por un edad < 18 o lo que es lo mismo edad <= 17 y el ejemplo funcionaría igual para ambos casos.
Puedes anidar las sentencias opcionales que quieras tanto en el IF como en el CASE-WHEN. Te recomiendo que le des un buen vistazo a la ayuda en línea que proporciona mySQL para que cheques la sintaxis respectiva
Para checar la sintaxis
No es recomendable que abuses de la anidación, pues puede afectar considerablemente el rendimiento de tu consulta. con IF quedaría más o menos así
Código SQL:
Ver originalSELECT id, nombre, IF(edad < 18, 'menor de edad', IF( edad = 18, 'ciudadano', 'mayor de edad')) AS edad
FROM personas;
Creo que podrías sacar cual es la sintaxis para hacerlo con el case no???
Saludos
Leo.