2016-11-22 67 views
0

請先查看我的表格。我的第一個表被稱爲DinasHoHeaderSQL Server連接條件

Kode Desc startdate enddate 
     1  Desc 1 2016-11-08 2016-11-08 
     2  Desc 2 2016-11-16 2016-11-16 

和第二表被稱爲CutOff

CutOffCode   Month Year  from   to 
CO-2016-10-16-15 10  2016 2016-09-16 2016-10-15 
CO-2016-11-16-15 11  2016 2016-10-16 2016-11-15 
CO-2016-12-16-15 12  2016 2016-11-16 2016-12-15 

我想加入這兩個。以下是我嘗試

SELECT a.*, b.CutOffCode 
FROM DinasHoHeader a 
LEFT JOIN CutOff b ON b.[From] BETWEEN a.[startdate] AND a.enddate 
        AND b.[to] BETWEEN a.[startdate] AND a.enddate 

但隨着我的查詢我不能得到CutOffCode

所以我的問題是:如何加入這兩個表,所以我可以得到cutoffcode

對不起,我的英語不好。

+3

你應該解釋你想要實現的邏輯。什麼是理想的結果,他們是如何計算的? –

+0

這兩張桌子有沒有關係?加入日期不會給你確切的結果。 – Munavvar

回答

3

我覺得你的邏輯是倒退:

select dhh.*, co.CutOffCode 
from DinasHoHeader dhh left join 
    CutOff co 
    on dhh.[startdate] between co.[From] and co.[to] and 
     dhh.[enddate] between co.[From] and co.[to]; 

這至少應該有一些比賽。