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

Ayuda con select case

Estas en el tema de Ayuda con select case en el foro de Mysql en Foros del Web. buen dia foro, esta consulta ya me gano: tabla EntradasSalidas id-----usr-----fecha----ingreso1----salida1-----ingreso2------salida2 1______001___2010-11-01__marcado____marcado_____marcado________marcado 2______002___2010-11-01__marcado____marcado_____marcado________marcado 3______002___2010-11-02__marcado____marcado_____marcado________marcado 4______001___2010-11-02___NULL_______NULL_______marcado________marcado 5______001___2010-11-03___NULL_______NULL________NULL___________NULL 6______001___2010-11-04__marcado____marcado______NULL___________NULL 7______001___2010-11-02__marcado____marcado_____marcado________marcado para dias Trabajados lo saque asi: SELECT ...
  #1 (permalink)  
Antiguo 25/11/2010, 11:54
 
Fecha de Ingreso: noviembre-2010
Mensajes: 7
Antigüedad: 13 años, 5 meses
Puntos: 0
Ayuda con select case

buen dia foro, esta consulta ya me gano:

tabla EntradasSalidas

id-----usr-----fecha----ingreso1----salida1-----ingreso2------salida2
1______001___2010-11-01__marcado____marcado_____marcado________marcado
2______002___2010-11-01__marcado____marcado_____marcado________marcado
3______002___2010-11-02__marcado____marcado_____marcado________marcado
4______001___2010-11-02___NULL_______NULL_______marcado________marcado
5______001___2010-11-03___NULL_______NULL________NULL___________NULL
6______001___2010-11-04__marcado____marcado______NULL___________NULL
7______001___2010-11-02__marcado____marcado_____marcado________marcado

para dias Trabajados lo saque asi:


SELECT usr, sum(CASE WHEN

(ingreso1 IS NOT NULL AND
salida1 IS NOT NULL AND
ingreso2 IS NOT NULL AND
salida2 IS NOT NULL) THEN 1 ELSE 0.5 END) as 'dias trabajados'

FROM EntradasSalidas GROUP BY usr;

para usr 001 meda = 3 y para usr 002 = 2 dias trabajados, correcto .
quiero es saber ahora es los dias q falto
lo intente de muchas fromas pero no lo consigo
para mi tabla deberia ser usr 001 = 2 y para usr 002 = 0 dias de falta, espero me ayudeis se los agradeceria muchisimo, de ante mano gracias mil.
  #2 (permalink)  
Antiguo 25/11/2010, 13:19
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Ayuda con select case

Buenas tardes Beto, creo que lo único que deberías cambiar es esto

Código MySQL:
Ver original
  1. THEN 0 ELSE 0.5 END) as faltas

Es decir, si tiene todos los registros entonces no se considera como falta, si tiene null en alguno de los registros (entradas o salidas) se suma medio día.

Si hay alguna consideración adicional que tengas que hacer sería cuestión de que anides otro case

Saludos
Leo.

Etiquetas: case, select
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 04:07.