【发布时间】:2018-05-04 23:36:57
【问题描述】:
活动表:
create table #activity(id int, begin_date datetime, end_date datetime)
insert into #activity values(1, '1/1/2017', '1/31/2017')
insert into #activity values(1, '9/1/2017', '9/15/2017')
insert into #activity values(1, '4/1/2017', '4/15/2017')
insert into #activity values(1, '2/5/2017', '2/15/2017')
insert into #activity values(1, '8/1/2017', '8/31/2017')
Insert into #activity values(2, '11/1/2016', '11/15/2016')
现在输入日期是 12/1/2016 和 id,希望在 2016 年 12 月 1 日之后的 50 天内获得所有活动。查询应返回开始日期为 2017 年 1 月 1 日、2017 年 2 月 5 日(因为这是在 2017 年 1 月 31 日的 50 天内)和 2017 年 4 月 1 日的活动。
不应选择 id 1 的 8/1/2017 和 9/1/2017 8/1 不在 4/15 的 50 天内,并且 50 天的周期被打破。
TIA
【问题讨论】:
-
您的预期结果是什么?
-
很高兴您将示例数据发布为 DDL+DML。但是,您的问题仍然需要预期的结果以及您当前的尝试。请edit您的问题包括在内。
-
预期输出为:应返回开始日期为 2017 年 1 月 1 日、2017 年 2 月 5 日(因为这是 2017 年 1 月 31 日的 50 天内)和 2017 年 4 月 1 日的活动.
标签: tsql