我正在使用 MS SQL Server,但欢迎来自其他数据库的比较解决方案。
这是我查询的基本形式。它从“incidentsm1”表中返回每天的呼叫次数:
SELECT
COUNT(*) AS "Calls",
MAX(open_time),
open_day
FROM
(
SELECT
incident_id,
opened_by,
open_time - (9.0/24) AS open_time,
DATEPART(dd, (open_time-(9.0/24))) AS open_day
FROM incidentsm1
WHERE
DATEDIFF(DAY, open_time-(9.0/24), GETDATE())< 7
) inc1
GROUP BY open_day
此数据用于绘制条形图,但如果一周中的某一天没有调用,则没有结果行,因此没有条形图,用户会说,“为什么图表只有六天?从周六跳到周一?”
不知何故,我需要每天用一个空白行或类似的东西来 UNION ALL,但我想不通。
我受限于我可以使用一条 SQL 语句执行的操作,并且我具有只读访问权限,因此我无法创建临时表或任何东西。