Muchas gracias por la respuesta, sobre el diseño esta descartado, no puedo modificarlo.😩 Sobre el inicio y el fin.. la lógica es esta: Se tomar el primer inicio luego se buscar el ultimo fin antes de un inicio, luego se repite el ciclo.Pensaba que algo se podía hacer el sql. Pude crear algo así: (tiene un par de funciones de sql server, pero eso era solo para una prueba.Esto me deja en un registro el inicio y el fin, pero no me soluciona el problema que exista un segundo fin luego del anterior. SELECT DISTINCT CONVERT(VARCHAR(10),s.date, 103) AS fecha, (SELECT MIN(CONVERT(VARCHAR(5),x.date,108)) FROM TABLA_Datos as x where estado in('Inicio') and CONVERT(VARCHAR(10),x.date, 103) = CONVERT(VARCHAR(10),s.date, 103)) as encendido, (SELECT MAX(CONVERT(VARCHAR(5),x.date,108)) FROM TABLA_Datos as x where estado in('Fin') and CONVERT(VARCHAR(10),x.date, 103) = CONVERT(VARCHAR(10),s.date, 103)) as apagado FROM FROM TABLA_Datos as s where estado in('Inicio') and date BETWEEN '20130601' AND '20131230' and id= 61 GROUP BY date
Muchas gracias. Date: Tue, 22 Oct 2013 09:26:37 -0500 Subject: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Consulta SQL resta de 2 fechas en el mismo campo en distinto registro. (con condición especial) From: miguel.hdz....@gmail.com To: mario...@gmail.com CC: npola...@cuij.edu.cu; pgsql-es-ayuda@postgresql.org Buenos días Probablemente puedas hacer algo con consultas anidadas, pero como sabes que inició y que final van juntos, te falta un Id para distinguir el agrupamiento, lo único que podrías hacer es una función que los ordene primero los inicio y luego los finales y tomar uno x uno y ordenarlos manual Por qué con eso de que todos los id son 1 y la premisa es de que la mitad es inició y la otra mitad es fin pudiera aplicar Pero cúrate de males y haz lo que te comento el compañero, es inpractico el diseño así! Saludos El martes, 22 de octubre de 2013, Pelluco Pelluco escribió: muchas gracias por la respuesta, pero te comento que el diseño ya venia así, esto se registra a través de una maquina y no puedo entrar a modificarlo, es por eso que me gustaría saber si se puede realizar una consulta que lo pueda calcular. graciasPedro. Date: Tue, 22 Oct 2013 09:53:42 -0400 From: npola...@cuij.edu.cu To: pgsql-es-ayuda@postgresql.org Subject: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Consulta SQL resta de 2 fechas en el mismo campo en distinto registro. (con condición especial) ¿por qué ese diseño, no sería mejor:? id - fecha - hora_inicio - hora_fin No sé, digo yo, me parece que es más fácil cualquier operación y hasta más lógico el diseño. On 22/10/13 08:42, Pelluco Pelluco wrote: Hola, estimados compañeros tengo una duda sobre si se puede hacer o no una consulta con las sgtes caracteristicas: con una tabla perecida a esta: id - Fecha - Estado 1 - 01-01-2013 08:00 - inicio 1 - 01-01-2013 10:00 - fin 1 - 01-01-2013 13:00 - inicio 1 - 01-01-2013 13:30 - fin 1 - 01-01-2013 13:40 - fin 1 - 01-01-2013 14:00 - inicio 1 - 01-01-2013 14:30 - inicio 1 - 01-01-2013 15:40 - fin La idea es poder restar las horas entre el primer inicio y el ultimo fin (por cada inicio) por ejemplo en este caso quedaria 10:00 - 08:00 13:40 - 13:00 15:40 - 14:00 Se puede hacer por consulta? Muchas Gracias. -- ISC Miguel Angel Hernandez Moreno