SQL的With Recursive用法替代方案是什么?

Viewed 32

RT.

现在需要针对SQL结果集的日期范围进行数据补全,
如查询2024-12-01至2024-12-10期间的数据,
按SQL过滤条件筛选出来的结果集可能
只包含了2024-12-05\2024-12-07\2024-12-08\2024-12-09的数据,
结果:

日期 数量
2024-12-05 21
2024-12-07 55
2024-12-08 34
2024-12-09 76

缺省了2024-12-01\2024-12-02\2024-12-03\2024-12-04\2024-12-06\2024-12-10的数据;
期望:

日期 数量
2024-12-01 0
2024-12-02 0
2024-12-03 0
2024-12-04 0
2024-12-05 21
2024-12-06 0
2024-12-07 55
2024-12-08 34
2024-12-09 76
2024-12-10 0

请问有什么方案可以实现?

2 Answers

你可以创建一个日期范围的临时表(或 CTE),然后将其与现有的结果集进行 LEFT JOIN,以补全缺失的日期。