Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

case when sql ayuda

Estas en el tema de case when sql ayuda en el foro de SQL Server en Foros del Web. tengo un problema con una consulta estoy usando el case when en sql pero aun no termino por comprenderlo si alguien pudiera ayudarme tengo esta ...
  #1 (permalink)  
Antiguo 05/04/2010, 19:23
Avatar de DarkWatch  
Fecha de Ingreso: marzo-2010
Ubicación: Mexico
Mensajes: 177
Antigüedad: 14 años, 8 meses
Puntos: 2
case when sql ayuda

tengo un problema con una consulta

estoy usando el case when en sql pero aun no termino por comprenderlo si alguien pudiera ayudarme tengo esta consulta...

quiero seleccionar los meses, pero cuando el mes sea "ENERO" mostrar 1, FEBRERO mostrar 2 etc..
asi con todos los meses

Código:
select distinct año , mes,
case when mes = 'ENERO' THEN 1 ELSE
case when mes = 'FEBRERO' THEN 2 ELSE
case when mes = 'MARZO' THEN 3 ELSE
case when mes = 'ABRIL' THEN 4 ELSE
case when mes = 'MAYO' THEN 5 ELSE
case when mes = 'JUNIO' THEN 6 ELSE
case when mes = 'JULIO' THEN 7 ELSE
case when mes = 'AGOSTO' THEN 8 ELSE
case when mes = 'SEPTIEMBRE' THEN 9 ELSE
case when mes = 'OCTUBRE' THEN 10
END END END END END END END END END END
FROM det_nomina
pero con esto solo puedo seleccionar hasta octubre y noviembre y diciembre no puedo hacerlo me marca un error...

ayuda
  #2 (permalink)  
Antiguo 05/04/2010, 21:19
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 10 meses
Puntos: 7
Respuesta: case when sql ayuda

Como se trata de condiciones simples, puedes usar un case sencillo:

Código:
SELECT    DISTINCT
        año, mes,
        CASE mes
            WHEN 'ENERO'        THEN 1
            WHEN 'FEBRERO'        THEN 2
            WHEN 'MARZO'        THEN 3
            WHEN 'ABRIL'        THEN 4
            WHEN 'MAYO'            THEN 5
            WHEN 'JUNIO'        THEN 6
            WHEN 'JULIO'        THEN 7
            WHEN 'AGOSTO'        THEN 8
            WHEN 'SEPTIEMBRE'    THEN 9
            WHEN 'OCTUBRE'        THEN 10
            WHEN 'OCTUBRE'        THEN 11
            ELSE 12
        END
FROM    det_nomina
  #3 (permalink)  
Antiguo 06/04/2010, 09:58
Avatar de DarkWatch  
Fecha de Ingreso: marzo-2010
Ubicación: Mexico
Mensajes: 177
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: case when sql ayuda

ok muchas gracias BeakDan

Etiquetas: case, whensql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.