我有2张桌子。示例表1:
ID episode_id episode_start episode_end
----------------------------------------------------
1 1 1 2
1 2 4 5
1 3 96 105
1 4 110 114
2 1 1 4
2 2 13 24
示例表2
ID timestamp Other_info
--------------------------------
1 1 111
1 2 142
1 3 114
1 4 112
1 5 116
1 6 123
2 1 145
2 2 156
2 3 154
我想基于table2.episode_start和table1.episode_end之间的table2.timestamp =合并两个表。
最终表格应该是表格2的一个子集,只有时间戳表中有一集。
问题:怎么做?什么是计算效率最高的方式?
编辑:实际上我的表格要长得多。
因此,例如,ID = 1的episode_start与第12集中ID = 1200的剧集开头相同。所以简单地合并它们不起作用。
编辑:预期输出:
ID timestamp Other_info
--------------------------------
1 1 111
1 2 142
1 4 112
1 5 116
2 1 145
2 2 156
2 3 154
等等。合并基本上是表1对表2的某种过滤。
答案 0 :(得分:0)
select table2.id, timestamp, other_info
from table1
left join table2 on table2.timestamp between table1.episode_start and table1.episode_end
where table2.id = table1.id
输出:
id timestamp Other_info
---------------------------------------
1 1 111
1 2 142
1 4 112
1 5 116
2 1 145
2 2 156
2 3 154