Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Fechas para expertos en MySQL

Estas en el tema de Fechas para expertos en MySQL en el foro de Mysql en Foros del Web. Hola amigos mi nombre es Magdalena, Tengo un problema que no he podido resolver: Tengo una base de datos en MySQL, una tabla(Datos) que contiene ...
  #1 (permalink)  
Antiguo 20/07/2009, 07:08
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Fechas para expertos en MySQL

Hola amigos mi nombre es Magdalena,

Tengo un problema que no he podido resolver:

Tengo una base de datos en MySQL, una tabla(Datos) que contiene IdNum(Autoincrement), Estación(char), Fecha(DATETIME).

A cada hora obtengo un dato de Estacion(x), y la fecha ej:
IdNum Estacion Fecha
------------|--------------|-----------------------------
NULL | x |2009-01-17 12:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 12:00:00
------------|--------------|-----------------------------
NULL | x |2009-01-17 13:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 13:00:00
------------|--------------|-----------------------------
NULL | x |2009-01-17 14:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 14:00:00
------------|--------------|-----------------------------
NULL | x |2009-01-17 15:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 15:00:00
------------|--------------|-----------------------------

Los datos anteriores está ordenados, es decir yo recibo esos datos de un archivo, pero el problema que aveces recibo los datos de la siguiente manera:

hora 12:00:00
IdNum Estacion Fecha
------------|--------------|-----------------------------
NULL | x |2009-01-17 12:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 12:00:00
------------|--------------|-----------------------------
Hora 13:00:00 (Sólo llegó un dato)

NULL | x |2009-01-17 13:00:00
------------|--------------|-----------------------------
Hora 14:00:00 (llegaron 2 datos)
------------|--------------|-----------------------------
NULL | x |2009-01-17 14:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 13:00:00
------------|--------------|-----------------------------

Mi problema es, decir en un mensaje qué hora NO llegó cuando son las 13:00:00 horas(u hora actual=15:00:00), además decir todas las horas que faltan de la estación x y estación y. Nota: el archivo de datos se lee de forma secuencial, y se inserta en la base de datos y la tabla Datos tiene 4.3 mb de datos (como 3 años de datos)y necesito comprobar cuales datos no existen:

Resumen:
Entrada
IdNum Estacion Fecha
------------|--------------|-----------------------------
NULL | x |2009-01-17 12:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 12:00:00
------------|--------------|-----------------------------
NULL | x |2009-01-17 13:00:00
------------|--------------|-----------------------------
NULL | x |2009-01-17 14:00:00
------------|--------------|-----------------------------
NULL | y |2009-01-17 15:00:00
------------|--------------|-----------------------------

Salida
Te faltan los datos:
Estacion= y |2009-01-17 13:00:00
Estación= y |2009-01-17 14:00:00
Estacion= x |2009-01-17 15:00:00

Consideraciones finales
La base de datos tiene 3 años de antigua y la fecha actual 2009-07-20 15:00:00 (por ej.) y actualmente cada hora sigue creciendo la base de datos; más no se cuales datos(horas por estación) me hacen falta(necesito esa consulta en mysql).

¿Cómo hago la consulta en mysql para mandar el mensaje diciendo los datos que faltan de forma óptima, es decir el script en php lo debo estar ejecutando cada hora y debo de recordarle al usuario los datos que faltan, sin importar si faltan los de hace 2.5 años ?nnota: uso php, mysql.

Muchas gracias, espero que me puedan ayudar ustedes como expertos
Magdalena

Última edición por magda123; 20/07/2009 a las 07:14
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:07.