2014-12-05 57 views
0

表1包含的成员的不同列表和它们各自的日期范围SQL Server的多条件

member_id | date_start | date_end 

表2是包含许多成员来自所有成员的条目,不少条目的大名单大型数据集

member_id | date | value 

什么SQL Server查询是否需要实现以检索Table2中符合Table1条件的所有条目?我想从table2中检索date_start和date_end之间的所有与member_id相关的条目。

+0

你能证明你已经试过了吗? – EWit 2014-12-05 21:05:59

回答

0

您需要使用JOIN范围之间:

SELECT * FROM `table1` t1 
LEFT JOIN `table2` t2 ON t1.member_id = t2.member_id 
WHERE t2.date BETWEEN t1.date_start AND t1.date_end 

如果你想从表2的所有条目,然后用t2.*代替*

你也可以看看这个:http://dev.mysql.com/doc/refman/5.0/en/join.html

0

加入上member_id表,然后用between来检查值

select * 
from table1 as t1 
inner join table2 as t2 on t2.member_id = t1.member_id 
         and t2.date between t1.date_start and t2.date_end