2017-04-06 52 views
0

我在SQL中遇到问题,但找不到解决方案。 (很抱歉的表格式,这是我的第一个问题,我没有得到如何做正确但...)我有两个表:SQL在两个表中选择具有可变性的行

TAB1

ID | Time | Time20Min 
---|------ |--------------- 
1 | 2:20 | 2:40  
2 | 5:13 | 5:33 
3 | 1:34 | 1:54 

TAB2

ID | DateTime 
--- |---- 
1 | 2:20 
1 | 2:32 
1 | 2:39 
1 | 2:45 
2 | 5:17 
2 | 5:23 
2 | 5:33 
2 | 5:42 

我想保持每个ID只能线,其中Tab2.DateTime是Tab1.Time和Tab1.Time20Min之间,并具有:

TAB3

ID | DateTime 
--- |---- 
1 | 2:20 
1 | 2:32 
1 | 2:39 
2 | 5:17 
2 | 5:23 
2 | 5:33 

你能帮助我吗? 谢谢:-)

+1

简单的连接表。在t1列之间有t2列作为连接条件。 – jarlh

+0

欢迎使用StackOverflow:如果您发布代码,XML或数据样本,只需突出显示文本编辑器中的相关行,然后单击编辑器工具栏上的“代码示例”按钮(“{}”)即可对其进行精确格式化和语法突出显示 –

回答

1

使用JOIN

select t2.*  -- the t2 limits the results to this table only 
from Tab1 t1  -- Tab1 is now aliased as t1 
inner join Tab2 t2 -- JOIN to Tab2 and alias as t2 
on t2.DateTime between t1.Time and T1.Time20Min -- here is the JOIN condition 
+0

“用'SQL'标记的问题的答案应该使用ISO/IEC标准SQL” - 使您的SQL符合所需的标准,用双引号括起标识符'Time',即将't1.Time'更改为'T1。时间“'。 – onedaywhen

+0

那就是它 谢谢! :-) – Boonty