2
我正在使用MySQL存储某些事件,其中包含有关谁已完成此事件的信息 以及某个事件发生时的时间戳。我现在将这些信息存储在两张表格中,“Cycles”和“Movement_Load”。基于列中的时间戳的交集,将一个MySQL表的信息追加到另一个列表中
现在我想将“Movement_Load”中包含的信息附加到表格“Cycles”中。这个操作的好处是我将所有相关信息存储在一张表中。
表循环:
(1, '00:50:c2:63:10:1a', 1351508100, 1351508200, 'center', 0, 0);
表Movement_Load:
(1, 'move_sensor1', 1351508090, 'movement start'),
(2, 'move_sensor1', 1351508120, 'movement end'), -- 20 not 30, because it starts at 1351508100
(3, 'move_sensor1', 1351508140, 'movement start'),
(4, 'move_sensor1', 1351508170, 'movement end'), -- 30
(5, 'move_sensor1', 1351508190, 'movement start'),
(6, 'move_sensor1', 1351508210, 'movement end'), -- 10 not 20, because it ends at 1351508200
-- movement sum is 60
(7,'load_sensor1', 1351508130, 'load start'),
(8,'load_sensor1', 1351508180, 'load end'), -- 50
(9,'load_sensor1', 1351508185, 'load start'),
(10,'load_sensor1', 1351508220, 'load end') -- 15 not 35, because it ends at 1351508200
-- load sum is 65
结果应该是这样的,运动(60)和负载(65)现在存储在该表中:
(1, '00:50:c2:63:10:1a', 1351508100, 1351508200, 'center', 60, 65)
要解决此问题,请参阅我准备好的小提琴:http://sqlfiddle.com/#!2/b1113
感谢CL,你是最好的,它似乎工作!你能告诉我,这个查询是如何工作的吗?我如何学会自己创建这样的查询? – 2013-03-10 12:36:21
嘿CL,这个有一个后续问题:http://stackoverflow.com/questions/15406149/mysql-overlaps-of-two-tables-in-timestamps – 2013-03-14 20:12:43