Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/02/2018, 12:55
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: select case suma incorrecta

Saludo


Pues yo propongo una subconsulta sobre la consulta inicial,
es decir, algo así:


Código MySQL:
Ver original
  1. pa.id_personal ID, CONCAT(nombre, ' ', apellido) Nombre, SUM(pa.Horas) 'Horas totales', precio_hora 'Precio/Hora'
  2. (
  3.     SELECT
  4.     id_personal,
  5.     CASE
  6.         WHEN (salida >= '2018-01-01 00:00:00' AND salida <= '2018-01-31 23:59:59')
  7.             THEN time_format(sec_to_time(timestampdiff(second, entrada, salida)), '%H:%i')
  8.           WHEN (salida > '2018-01-31 23:59:59')
  9.             THEN time_format(sec_to_time(timestampdiff(second, entrada, '2018-02-01 00:00:00')), '%H:%i')
  10.           WHEN (salida = 0 )
  11.             THEN time_format(sec_to_time(timestampdiff(second, entrada, now())), '%H:%i')
  12.     END Horas
  13.         FROM personal_asistencia
  14.     WHERE datetime1 BETWEEN '2018-01-01 00:00:00' AND '2018-01-31 23:59:59'
  15. ) pa
  16. INNER JOIN personal ON pa.id_personal = personal.id
  17. INNER JOIN personal_precio_hora ON personal.id = personal_precio_hora.id_personal
  18. GROUP BY pa.id_personal;
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com