2017-04-14 100 views
0

我有2代表在那裏我開始和每個爲每個在這兩個表的最後一天,我需要加入他們的行列,這樣的記錄是有效日期兩個表時間依賴性加入

Table 1 
EmpId StartDate EndDate 
1 1/2/2017 12/31/9999 
1 8/10/2016 1/1/2017 
1 10/11/2015 8/9/2016 
1 2/10/2014 10/19/2015 

Table2 
JobId EMPID StartDate EndDate 
J1 1  1/2/2017 12/31/9999 
J2 1  8/10/2016 1/1/2017 
J3 1  2/10/2014 8/9/2016 

Result Set Should be something like this 
EmpId StartDate EndDate 
1 1/2/2017 12/31/9999 J1 
1 8/10/2016 1/1/2017  J2 
1 10/11/2015 8/9/2016  J3 
1 2/10/2014 10/19/2015 J4 

謝謝提前 斯里蘭卡

+0

沒有** 1 2014年2月10日2015年10月19日J4 **表2中。你從哪裏得到這些信息? –

+0

遺憾的是必須是J3 – SQL3026

+0

你嘗試過這麼遠嗎? –

回答

0

你可以測試一個這樣的查詢:

SELECT 
    t1.* 
    ,t2.JobId 
FROM 
    table1 t1 
LEFT JOIN 
    table2 t2 
ON 
    t1.EmpId = t2.EmpId 
AND 
    t1.StartDate = t2.StartDate 
AND 
    t1.EndDate = t2.EndDate; 
+0

這將找不到匹配3和4記錄,因爲日期的條件,則輸出將是這樣的 1 2017年1月2日12/31/9999 J1 1 2016年8月10日2017年1月1日J2 1二零一五年十月十一日2016年8月9日 1 2014年2月10日2015' 年10月19日 – SQL3026

+0

如果你不想有一排3和4的變化** LEFT JOIN **的** INNER JOIN ** –

+0

這從T1 2條記錄將永不滿足的條件對T2 ..我想從T1 1 2015年10月11日2016年8月9日 1 2014年2月10日2015年10月19日的所有記錄 – SQL3026