tengo un problema con una base de datos.
Es una tabla (events) donde se almacenan alarmas. El instante en el que se genera la alarma y el instante en el que deja de estar activa.
Quiero que mi consulta saque la alarma, el instante de generación, y la DURACIÓN que dicha alarma está activa. Si "1" es activa y "0" es inactiva, tendré que calcular la diferencia de instantes entre dos filas de la misma tabla. Pero sólo entre el "0" inmediatamente posterior a un "1", porque la alarma puede activarse y desactivarse muchas veces,
En MySQL uso lo siguiente
Código:
La tabla alertas_UP es una que me he creado con las activaciones. alertas_DOWN es un alias.select alertas_UP.objectid, alertas_UP.clock, from_unixtime(alertas_UP.clock) as Fecha_Activacion, (alertas_DOWN.clock - alertas_UP.clock) as Duracion_Segs from alertas_UP left join (select * from events where events.clock >= alertas_UP.clock and and value=0 order by alertas_UP.clock desc limit 1 ) alertas_DOWN on alertas_UP.objectid = alertas_DOWN.objectid where alertas_UP.objectid = alertas_DOWN.objectid #and alertas_DOWN.clock >= alertas_UP.clock #and alertas_DOWN.eventid > alertas_UP.eventid order by alertas_UP.clock desc
MySQL me dice que:
Código:
No tengo ni idea de cuál es el error. Si alguien ve algo raro...Error Code: 1054. Unknown column 'alertas_UP.clock' in 'where clause'
Saludos y gracias!