我有以下数据结构:
ID,Name,Start,End
1,Aaron,01-01-2020,31-12-2020
2,Example,01-01-2020,31-6-2020
开始和结束表示日期。
我选择的结果应该如下所示,假设我从上面的数据开始:
ID,Name,Month
1,Aaron,January
1,Aaron,February
1,Aaron,March
1,Aaron,April...
1,Aaron,December
2,Example,January...
2,Example,June.
所以我真正想要的是在每个时间范围内得到所有的月份。只有一个选择可以吗?或者我可以尝试另一种方法吗?
2条答案
按热度按时间ua4mk5z41#
我建议使用递归的cte,但直接基于您的数据。像这样:
不需要生成月份和日期的列表,然后连接回原始数据。
vhipe2zx2#
在上面的语句中,当前的固定值
2019-01-01
以及2023-12-31
应根据用户的需要进行更改。。。。与
WITH
将创建一个临时表,可在下一个select语句中使用。