JOIN với bảng lịch (calendar)
Trong bài trước, bạn đã xem một bảng mới, dbo.Calendar. Bảng này chứa sẵn thông tin ngày tháng đã được tính trước, từ ngày 1/1/2000 đến 31/12/2049. Giờ chúng ta sẽ dùng bảng calendar này để lọc một bảng khác, dbo.IncidentRollup.
Bảng Incident Rollup chứa dữ liệu được tạo giả lập liên quan đến các sự cố bảo mật tại một công ty hư cấu.
Bạn có thể nhớ từ các khóa học tiền đề cách JOIN các bảng. Đây là một ví dụ JOIN với bảng calendar:
SELECT
t.Column1,
t.Column2
FROM dbo.Table t
INNER JOIN dbo.Calendar c
ON t.Date = c.Date;
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian trong SQL Server
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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.___ = ___;