【发布时间】:2020-03-02 15:21:07
【问题描述】:
我有一个这样的市场表 (#Market):
对于市场的每个交货日期,我需要生成直到该市场下一个交货日期的日期。所需的输出应如下所示:
我尝试根据所有市场的最大和最小日期范围获取日历日期,然后尝试将日期与市场交货日期匹配。
日历日期(#Calendar)生成如下:
Date
2020-03-01
2020-03-02
2020-03-03
2020-03-04
2020-03-05
2020-03-06
2020-03-07
2020-03-08
2020-03-09
2020-03-10
2020-03-11
2020-03-12
2020-03-13
2020-03-14
2020-03-15
但我找不到将日历表与市场表进行比较并获取每个交货日期和市场的连续行之间的日期的方法。下面的交叉连接为我提供了特定交货日期之后的所有日期,但不能限制到该市场的下一个交货日期。
select * from #Calendar c
cross join #Market m
where date>=[Delivery Date]
order by marketid,[Delivery Date]
有没有办法在特定市场的下一个交货日期之前限制这些日期?
【问题讨论】:
标签: sql sql-server date