Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/09/2010, 10:14
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: problemas con consulta al poner 12 case solo me deja 10

Mucho ojo A83, el compañero Matanga ya te dió la solución, pero parece ser que no pusiste mucha atención en su código. Hay dos formas de utilizar la sentencia CASE-WHEN:

CASE buscada (Es la que tu pones en tu ejemplo):

CASE WHEN Tu Condicion THEN si es verdadera ELSE [.... Aquí puedes anidar otro case]
END

Tal como lo comenta Matanga, aquí puedes anidar hasta diez niveles.

CASE simple (Es la que te propone Matanga)

CASE Tu Variable
WHEN Valor1 THEN Si la variable es igual al valor 1
WHEN Valor2 THEN Si la variable es igual al valor 2
...
ELSE Si la variable tiene cualquier otro valor
END

Aquí en realidad nunca no estás anidando, así es que no hay problema para poner los valores que desees. Si tienes dudas consulta tu ayuda en línea.

Lo único que te faltaría es completa el código que te puso Matanga con todas las opciones y verás que funciona.

Una solución más formal es la creación de un catálogo de meses, donde el número de mes sería la llave y existiera una descripción. Simplemente tendrías que hacer un JOIN con tu catálogo para obtener la descripción, esta en particular sería mucho mas eficiente y podrías utilizarla con más de una tabla.

Y otra recomendación, mucho cuidado con la redacción:

bueno a pregunta es que solucon (¿qué trataste de decir con esto?)

Saludos.
Leo.