开发者

Not within ranges from another table

I am using MSSQL 2000.

I have a table with a date column containing dates, t_mydates(dateA).

I have a second table t_exlusions(start_date,end_date)

I want a query which returns all dates from t_mydates where they are not between any of the rang开发者_C百科es in t_exlusions.


Query:

select d.*
from @t_mydates d
left join @t_exlusions e on date between start_date and end_date
where start_date is null and end_date is null

Test date:

declare @t_mydates table (date date)
insert into @t_mydates (date)
values
(GETDATE()),(GETDATE()-1),(GETDATE()-2),(GETDATE()-3),(GETDATE()-4),(GETDATE()-5),(GETDATE()-6),(GETDATE()-7)

declare @t_exlusions table (start_date date, end_date date)
insert into @t_exlusions (start_date, end_date)
values
(GETDATE()-1, GETDATE()), (GETDATE()-5, GETDATE()-4)

Result:

2011-08-27
2011-08-26
2011-08-23
2011-08-22
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜