2016-11-22 8 views
0

まずテーブルを確認してください。私は2つに参加したいSQL 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 

と呼ばれている:私の最初のテーブルがDinasHoHeaderと呼ばれています。ここで私は

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を取得することはできません。

私の質問は、これらの2つのテーブルをどのようにしてcutoffcodeを得ることができるのですか?

私の悪い英語を申し訳ありません。

+3

実装するロジックを説明する必要があります。どのような結果が得られ、どのように計算されていますか? –

+0

これら2つのテーブルの間には何らかの関係があるでしょうか?日付に参加しても正確な結果は得られません。 – 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]; 

これは、少なくともいくつかの試合を持っている必要があります。