我有一个设置三列的表:
EventName | StartDate | EndDate
FunRun 1/1/2018 1/10/2018
DumbRun 2/1/2018 2/5/2018
我有一个单独的日期表,其中包含一年中的每个日期,大约有100个不同的属性。
CalendarDate | DayOfWeek | WeekendInd | etc...
1/1/2018 Sunday 1
1/2/2018 Monday 0
1/15/2018 Wednesday 0
如果日历日期在偶数表上的日期之间,我想加入这两个表来创建指标。
CalendarDate | DayOfWeek | WeekendInd | EventInd
1/1/2018 Sunday 1 1
1/2/2018 Monday 0 1
1/15/2018 Wednesday 0 0
我似乎无法在子查询中使用递归CTE。此表已连接到其他5个子查询。有什么建议吗?
答案 0 :(得分:1)
据我所知,你不需要递归,只需加入2个表
select
CalendarDate, DayOfWeek, WeekendInd, EventInd = isnull(EventInd, 0)
from
CalendarTable a
outer apply (
select
distinct EventInd = 1
from
EventsTable b
where
a.CalendarDate between b.StartDate and b.EndDate
) q