sql >> Base de Datos >  >> RDS >> Mysql

mysql se superpone de dos tablas en marcas de tiempo

Realmente no entiendo cómo se correlaciona el conjunto de datos con el conjunto de resultados, pero me parece que quieres algo más o menos como esto...

 SELECT m.id
      , DATE(FROM_UNIXTIME(m.starttime))Date,SUM(m.duration) all_movement
      , SUM(l.duration) all_load
   FROM move_table m
   JOIN load_table l
     ON l.id = m.id
    AND l.endtime > m.starttime
    AND l.starttime < m.endtime
  GROUP 
     BY m.id
      , DATE(FROM_UNIXTIME(m.starttime));
 +-------------------+------------+--------------+----------+
 | id                | Date       | all_movement | all_load |
 +-------------------+------------+--------------+----------+
 | 00:50:c2:63:10:1a | 2012-10-29 |          391 |      520 |
 | 00:50:c2:63:10:1a | 2013-02-22 |          391 |      520 |
 | 00:50:c2:63:10:1b | 2013-02-22 |          181 |      220 |
 +-------------------+------------+--------------+----------+

Por cierto, duration parece ser redundante en este contexto ya que (por ejemplo) SUM(m.endtime-m.starttime) obtendrá el mismo resultado.