SQL - AYUDA A NO PROGRAMADOR

 
Vista:
sin imagen de perfil

AYUDA A NO PROGRAMADOR

Publicado por LOLO (2 intervenciones) el 25/03/2024 17:15:03
Buenas tardes y gracias por vuestra ayuda.

No soy programador. Hago pequeñas consultas sin complejidad en SQL con algún filtro, eliminando campos, etc... que posteriormente exporto a Excel donde trabajo los datos.

En mi método "autodidacta" me he estancado, no consigo salir y por eso me dirijo a vosotros.

Describo el escenario con un ejemplo:

Tengo la tabla "TIEMPO" con estos campo p.ej.


'ID' 'FECHA' 'DPTO' 'TIPO' 'HORA'
101 01/01/2024 RR.HH. ENTRADA 8:00
101 01/01/2024 RR.HH. SALIDA 14:45
102 01/01/2024 PRL ENTRADA 10:00
102 01/01/2024 PRL SALIDA 14:00
103 01/01/2024 PRL ENTRADA 15:00
103 01/01/2024 PRL SALIDA 16:00
104 02/01/2024 INFO ENTRADA 12:00
104 02/01/2024 INFO SALIDA 15:00

Necesito que me devuelva el tiempo por día

'FECHA' ' Tiempo TOTAL'
01/01/2024 11:45
02/01/2024 3:00


Gracias por vuestra ayuda y comprensión
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

AYUDA A NO PROGRAMADOR

Publicado por Martha (14 intervenciones) el 26/03/2024 21:53:00
Podrías encadenar consultas, pero creo que realizando tablas temporales queda un poco más gráfico

1
2
3
4
5
6
7
8
Create temporary table e SELECT e.id, e.fecha, e.hora as h_entrada from tiempo as e where tipo ='ENTRADA';
 
Create temporary table s SELECT s.id, s.fecha, s.hora as h_salida from tiempo as s where tipo ='SALIDA';
 
Create temporary table r SELECT e.id, e.fecha as Fecha, e.h_entrada, s.h_salida, timediff(s.h_salida,e.h_entrada) as diferencia
FROM e INNER JOIN s on e.id=s.id;
 
SELECT Fecha, time(sum(diferencia)) as Tiempo_total from r GROUP BY Fecha;

Funciona en MySQL, en otros gestores de bases de datos pueden variar las funciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYUDA A NO PROGRAMADOR

Publicado por Lolo RR (2 intervenciones) el 27/03/2024 13:22:22
Gracias por tu tiempo.

Voy a probarlo.

Todos los días aprendemos algo. Desconocía las tablas temporales.

Un Saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar