我有一张桌子:
|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服务器。关于如何处理这个的任何想法?
答案 0 :(得分: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
答案 1 :(得分: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
答案 2 :(得分: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