Insertar desde un select
Publicado por roberto carrillo (4 intervenciones) el 06/07/2018 14:55:49
Hola, espero esten bien. Paso a consultar.
Genero diariamente una consulta que me tare estos resultados:
"select * from ldatos;"
datetime, inout, legajo
"2018-01-01 07:00:00", 0, 1111
"2018-01-01 07:00:00", 0, 1113
"2018-01-01 07:01:00", 0, 1112
"2018-01-01 17:02:00", 1, 1111
"2018-01-01 18:00:00", 1, 1112
"2018-01-02 07:01:00", 0, 1111
"2018-01-02 07:00:00", 0, 1112
"2018-01-02 13:00:00", 1, 1111
"2018-01-02 13:01:00", 1, 1112
"2018-01-02 17:01:00", 0, 1111
"2018-01-02 17:00:00", 0, 1112
"2018-01-02 23:00:00", 1, 1111
"2018-01-02 23:00:00", 1, 1112
Que hoy guardo de esta forma:
ID FECHA LEGAJO INOUT HORA
01 '2018-01-01' 1111 0 '07:00:00'
02 '2018-01-01' 1113 0 '07:00:00'
03 '2018-01-01' 1112 0 '07:01:00'
04 '2018-01-01' 1111 1 '17:02:00'
05 '2018-01-01' 1112 1 '18:00:00'
06 '2018-01-02' 1111 0 '07:01:00'
07 '2018-01-02' 1112 0 '07:00:00'
08 '2018-01-02' 1111 1 '13:00:00'
09 '2018-01-02' 1112 1 '13:01:00'
10 '2018-01-02' 1111 0 '17:01:00'
11 '2018-01-02' 1112 0 '17:00:00'
12 '2018-01-02' 1111 1 '23:00:00'
13 '2018-01-02' 1112 1 '23:01:00'
Pero quisiera guardarla así:
--FECHA----LEGAJO-------0a-----------1a----------0b----------1b-----------0c----------1c
'2018-01-01' 1111 '07:00:00' '17:02:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00'
'2018-01-01' 1112 '07:01:00' '18:00:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00'
'2018-01-02' 1111 '07:01:00' '13:00:00' '17:01:00' '23:00:00' '00:00:00' '00:00:00'
'2018-01-02' 1112 '07:00:00' '13:01:00' '17:00:00' '23:01:00' '00:00:00' '00:00:00'
'2018-01-02' 1113 '07:00:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00'
En donde: Si es el mismo día y el mismo legajo me guarde hasta 6 horarios (entrada '0a' '0b' '0c', salida '1a' '1b' '1c') sino que siga con el próximo legajo del día, y después con el próximo día.
Será posible llegar a esto en una consulta o en varias? Creando y eliminando tablas hasta llegar a este resultado?
Desde ya muchas gracias!!
Genero diariamente una consulta que me tare estos resultados:
"select * from ldatos;"
datetime, inout, legajo
"2018-01-01 07:00:00", 0, 1111
"2018-01-01 07:00:00", 0, 1113
"2018-01-01 07:01:00", 0, 1112
"2018-01-01 17:02:00", 1, 1111
"2018-01-01 18:00:00", 1, 1112
"2018-01-02 07:01:00", 0, 1111
"2018-01-02 07:00:00", 0, 1112
"2018-01-02 13:00:00", 1, 1111
"2018-01-02 13:01:00", 1, 1112
"2018-01-02 17:01:00", 0, 1111
"2018-01-02 17:00:00", 0, 1112
"2018-01-02 23:00:00", 1, 1111
"2018-01-02 23:00:00", 1, 1112
Que hoy guardo de esta forma:
ID FECHA LEGAJO INOUT HORA
01 '2018-01-01' 1111 0 '07:00:00'
02 '2018-01-01' 1113 0 '07:00:00'
03 '2018-01-01' 1112 0 '07:01:00'
04 '2018-01-01' 1111 1 '17:02:00'
05 '2018-01-01' 1112 1 '18:00:00'
06 '2018-01-02' 1111 0 '07:01:00'
07 '2018-01-02' 1112 0 '07:00:00'
08 '2018-01-02' 1111 1 '13:00:00'
09 '2018-01-02' 1112 1 '13:01:00'
10 '2018-01-02' 1111 0 '17:01:00'
11 '2018-01-02' 1112 0 '17:00:00'
12 '2018-01-02' 1111 1 '23:00:00'
13 '2018-01-02' 1112 1 '23:01:00'
Pero quisiera guardarla así:
--FECHA----LEGAJO-------0a-----------1a----------0b----------1b-----------0c----------1c
'2018-01-01' 1111 '07:00:00' '17:02:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00'
'2018-01-01' 1112 '07:01:00' '18:00:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00'
'2018-01-02' 1111 '07:01:00' '13:00:00' '17:01:00' '23:00:00' '00:00:00' '00:00:00'
'2018-01-02' 1112 '07:00:00' '13:01:00' '17:00:00' '23:01:00' '00:00:00' '00:00:00'
'2018-01-02' 1113 '07:00:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00' '00:00:00'
En donde: Si es el mismo día y el mismo legajo me guarde hasta 6 horarios (entrada '0a' '0b' '0c', salida '1a' '1b' '1c') sino que siga con el próximo legajo del día, y después con el próximo día.
Será posible llegar a esto en una consulta o en varias? Creando y eliminando tablas hasta llegar a este resultado?
Desde ya muchas gracias!!
Valora esta pregunta
0