Tas*_*que 1 sql database sql-server sql-server-2008
嗨,
我有下表
=========================
Periods
=========================
PeriodID StartDate EndDate
1 01-01-11 07-01-11
2 08-01-11 15-01-11
Run Code Online (Sandbox Code Playgroud)
全年等等
=========================
History
=========================
PersonID From To
1 01-01-11 05-04-11
2 17-06-11 NULL
and so on
Run Code Online (Sandbox Code Playgroud)
我想要以下输出
StartDate EndDate PersonID
01-01-11 07-01-11 1
08-01-11 15-01-11 1
.
.
15-04-11 21-04-11 NULL
.
.
15-06-11 21-06-11 2
Run Code Online (Sandbox Code Playgroud)
我需要在这两个表之间进行联接,但是我无法弄清楚联接条件的样子
拉加兹
SELECT
p.StartDate,
p.EndDate,
h.PersonID
FROM Periods p
LEFT JOIN History h
ON h.[From] BETWEEN p.StartDate AND p.EndDate OR
p.StartDate BETWEEN h.[From] AND ISNULL(h.[To], '30000101')
Run Code Online (Sandbox Code Playgroud)