我正在尝试检索一些报告数据
这是我的查询:
SELECT sourceCode as "Source", to_char(myTimestamp, 'YYYY-MM-DD') as "Date", statusCode as "Status", count(*) as "Count"
FROM archive_table
WHERE myTimestamp BETWEEN TO_TIMESTAMP('2013-09-30','yyyy-mm-dd') AND TO_TIMESTAMP('2013-10-05','yyyy-mm-dd')
GROUP BY sourceCode, to_char(myTimestamp, 'YYYY-MM-DD'), statusCode
ORDER BY 1, 2, 3
这是输出:
Source Date Status Count
Source1 9/30/2013 C 10
Source1 10/1/2013 C 8
Source1 10/2/2013 C 24
Source1 10/2/2013 O 4
Source2 10/4/2013 C 22
Source2 10/4/2013 O 7
Source3 10/1/2013 C 2
Source4 9/30/2013 C 15
Source4 9/30/2013 O 15
Source4 10/1/2013 C 24
Source4 10/1/2013 O 12
我想看到的是所有 0 的计数,例如日期为 9/30/2013 的 Source1 在数据库中没有状态 0,所以我希望它显示:
Source1 9/30/2013 O 0
另一个例子,现在 2013 年 9 月 30 日完全有 Source2,所以它应该显示:
Source2 9/30/2013 O 0
Source2 9/30/2013 C 0
我希望有一个简单的方法来做到这一点。有关其他信息,只有 4 个“来源”,状态为“O”或“C”,显然日期范围在 where 子句中提供。