Ese es el problema, debo considerar el primer inicio y el próximo fin seria el que este antes de un inicio.
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í:
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.
Código SQL:
Ver originalSELECT
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
gracias