Łączenie z tabelą kalendarza
W poprzednim ćwiczeniu poznaliśmy nową tabelę – dbo.Calendar. Zawiera ona wstępnie obliczone informacje o datach obejmujące okres od 1 stycznia 2000 r. do 31 grudnia 2049 r. Teraz użyjemy tej tabeli kalendarza do filtrowania innej tabeli: dbo.IncidentRollup.
Tabela Incident Rollup zawiera sztucznie wygenerowane dane dotyczące incydentów bezpieczeństwa w fikcyjnej firmie.
Pamiętasz zapewne z kursów poprzedzających ten, jak łączyć tabele. Oto przykład złączenia z tabelą kalendarza:
SELECT
t.Column1,
t.Column2
FROM dbo.Table t
INNER JOIN dbo.Calendar c
ON t.Date = c.Date;
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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.___ = ___;