2014-02-18 73 views
0

條件我有一個表這樣:聯袂基於每

|testNr |date  | 
|1   | 2014-01-01 | 
|2   | 2014-01-03 | 
|3   | 2014-01-03 | 

而另一位像:

|finalID | testNr  | from_date |to_date 
|1   | 1   | 2013-12-01 |2013-12-20 
|2   | 1   | 2013-12-25 |2014-01-05 
|3   | 2   | 2014-01-01 |2014-01-05 

我想從第二查表的finalID,並與參加吧第一。值得注意的是,第一列中的date位於第二列中的日期範圍之間。

我想直到結束:

|testNr |date  | finalID 
|1   | 2014-01-01 | 2 
|2   | 2014-01-03 | 3 
|3   | 2014-01-03 | NULL 

我使用SQL服務器。任何想法如何解決這個問題?

回答

1

我想這是你想要的

select t1.testNr, t1.date, t2.finalID 
from table1 t1 left join table2 t2 
on t1.testNr=t2.testNr and t1.date between t2.from_date and t2.to_date 

fiddle

0

使用下

SELECT t1.*, t2.finalID 
FROM table1 t1 
LEFT JOIN table2 t2 on t1.testNR=t2.testNR and t1.[date] between t2.from_date and t2.to_date 

SQLFIddle

0
SELECT T1.*,T2.FINALID FROM TABLE1 T1 
LEFT JOIN TABLE2 T2 ON T1.TESTNR=T2.TESTNR 
AND T1.DATE BETWEEN T2.FROM_DATE AND T2.TO_DATE