Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql chevauche deux tables dans les horodatages

Je ne comprends pas vraiment comment l'ensemble de données est corrélé avec l'ensemble de résultats, mais il me semble que vous voulez quelque chose de plus ou moins comme ça...

 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 |
 +-------------------+------------+--------------+----------+

Accessoirement, duration semble être redondant dans ce contexte car (par exemple) SUM(m.endtime-m.starttime) vous donnera le même résultat.