Не в пределах диапазона от другой таблицы - PullRequest
2 голосов
/ 29 августа 2011

Я использую MSSQL 2000.

У меня есть таблица со столбцом даты, содержащим даты, t_mydates (dateA).

У меня есть вторая таблица t_exlusion (start_date, end_date)

Мне нужен запрос, который возвращает все даты из t_mydates, если они не находятся между любыми диапазонами в t_exlusion.

1 Ответ

2 голосов
/ 29 августа 2011

Запрос:

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

Дата теста:

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)

Результат:

2011-08-27
2011-08-26
2011-08-23
2011-08-22
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...