MySQL Select查询用于在特定时间内在两个表中获取数据

时间:2019-07-01 06:15:50

标签: mysql sql select

我在下面的两张桌子上贴了碎石球, 使用这些表进行查询对我来说可以获取最近24小时的数据,因为这将使我在表中拥有第一台设备。

现在我需要一个新的查询,即T1中的第二个设备也应该出现,因为该设备在T1中的创建时间在T2插入时间的24小时之内。

T1中的第三个设备不应出现在我的查询结果中,因为它在T1中的创建时间比在T2中的插入时间长24小时。

我正在查询最后两点。

Select a.device,[a.create time], b.device, [b.insert time] 
from T1 a, T2 b 
where a.device = b.device and a.time >= DATE_SUB(NOW(), INTERVAL 24 HOUR)

enter image description here

1 个答案:

答案 0 :(得分:1)

a.device = b.device应该是您的加入条件。

Select a.device,[a.create time], b.device, [b.insert time] 
from T1 a inner join T2 b on a.device = b.device
where 
    a.time >= DATE_SUB(NOW(), INTERVAL 24 HOUR) --first condtion
    or a.time <= DATE_SUB(b.time, INTERVAL 24 HOUR) --second condition