如何在报告中添加跳过的日期?

时间:2016-01-19 21:27:01

标签: mysql sql-server visual-studio-2012 oracle-sqldeveloper

如何在报告中添加跳过的日期,以便时间上没有差距,例如 我有这个:

1/1/16: 10 sales
1/3/16: 4 sales
1/7/16: 11 Sales
1/8/16: 8 Sales

我想要这个:

1/1/16: 10 sales
1/2/16: No sales
1/3/16: 4 sales
1/4/16: No Sales
1/5/16: No Sales
1/6/16: No Sales
1/7/16: 11 Sales
1/8/16: 8 Sales

我正在使用Visual Studio 2012和Oracle

3 个答案:

答案 0 :(得分:0)

无论您使用哪种RDBMS,一种流行的方法是拥有日期表,或者创建一个包含日期的临时表,并将该表连接到包含您数据的任何表。例如,

SELECT [datetable].[date], [SalesTable].[NumberOfSales]
FROM [datetable]
LEFT JOIN [SalesTable] ON [SalesTable].[Date] = [datetable].[date]
假设[日期表]包含每个日期,

将显示您正在寻找的内容。

答案 1 :(得分:0)

我建议使用编程代码而不是SQL左连接

来建立循环日期范围

答案 2 :(得分:0)

报告时最好使用日历表。创建包含所有日期和格式的日历表。然后,您可以加入日历表和结果视图以获取所有日期和值。