2014-12-05 56 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