Jag förstår inte riktigt hur datamängden korrelerar med resultatuppsättningen men det verkar för mig att du vill ha något mer eller mindre så här...
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 |
+-------------------+------------+--------------+----------+
För övrigt duration
verkar vara överflödig i detta sammanhang eftersom (till exempel) SUM(m.endtime-m.starttime) ger dig samma resultat.