我想知道使用单个select-join查询是否可以实现以下内容 .
假设我们有两个表(两个行都指的是及时发生的一些事件) . 第一个,TableA有以下列:
ID,TimeOfOccurrence,SomeData1
第二个,TableB,看起来类似:
ID,TimeOfOccurrence,SomeData2
TableA和TableB中事件发生的时间总是不同的,因为它们是独立发生的 .
我从TableA中选择事件,例如使用以下查询:
SELECT * FROM TableA WHERE SomeData1 LIKE 'something'
现在我想以下列方式与TableB Build 连接:对于此结果集中的每个事件,我想要从TableB中添加事件的ID和SomeData2,它们发生在最近的位置,假设在10分钟内,相对于特定的行 . 结果集 . 换句话说,我基于TableA和TableB中事件的时间邻接来 Build 连接 .
有没有办法做到这一点?
1 回答
试试这种方法:
演示 - > http://www.sqlfiddle.com/#!2/d7ed9/1
----------- EDIT ---------------
这是一个演示,演示如何选择最接近的匹配
---> http://www.sqlfiddle.com/#!2/4b86b/12