Я использую MS SQL Server, но приветствую сравнительные решения из других баз данных.
Это базовая форма моего запроса. Возвращает количество вызовов в день из таблицы «инциденты1»:
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
Эти данные используются для построения гистограммы, но если в данный день недели не было вызовов, строка результатов отсутствует и, следовательно, нет гистограммы, и пользователь, как, «почему график только шесть дней и пропустить с субботы на понедельник? "
Каким-то образом мне нужно ОБЪЕДИНИТЬ ВСЕ с пустыми строками каждого дня или чем-то подобным, но я не могу понять это.
Я ограничен тем, что я могу сделать с одним оператором SQL, и у меня есть доступ только для чтения, поэтому я не могу создать временную таблицу или что-либо еще.