Соединение с таблицей календаря
В предыдущем упражнении мы познакомились с новой таблицей dbo.Calendar. Она содержит заранее вычисленные данные о датах в диапазоне с 1 января 2000 года по 31 декабря 2049 года. Теперь воспользуемся этой таблицей календаря для фильтрации другой таблицы — dbo.IncidentRollup.
Таблица Incident Rollup содержит искусственно сгенерированные данные об инцидентах безопасности в вымышленной компании.
Вы, возможно, помните из предыдущих курсов, как выполняется соединение таблиц. Вот пример соединения с таблицей календаря:
SELECT
t.Column1,
t.Column2
FROM dbo.Table t
INNER JOIN dbo.Calendar c
ON t.Date = c.Date;
Это упражнение является частью курса
Анализ временных рядов в SQL Server
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
SELECT
ir.IncidentDate,
c.FiscalDayOfYear,
c.FiscalWeekOfYear
FROM dbo.___ ir
INNER JOIN dbo.___ c
ON ir.___ = c.___
WHERE
-- Incident type 3
ir.___ = 3
-- Fiscal year 2019
AND c.___ = ___
-- Fiscal quarter 3
AND c.___ = ___;