2016-11-22 1 views
0

Сначала проверьте мою таблицу. Моя первая таблица называется DinasHoHeader: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 

Я хочу присоединиться к двум. Вот что я пытаюсь

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]; 

Это должно по крайней мере, несколько матчей.