การ Join กับตาราง Calendar
ในแบบฝึกหัดก่อนหน้า เราได้ทำความรู้จักกับตาราง dbo.Calendar ซึ่งเป็นตารางที่มีข้อมูลวันที่คำนวณไว้ล่วงหน้าตั้งแต่วันที่ 1 มกราคม 2000 ถึง 31 ธันวาคม 2049 คราวนี้เราจะใช้ตาราง Calendar นี้เพื่อกรองข้อมูลจากตารางอีกตาราง คือ dbo.IncidentRollup
ตาราง Incident Rollup มีข้อมูลที่สร้างขึ้นเพื่อจำลองเหตุการณ์ด้านความปลอดภัยของบริษัทสมมติแห่งหนึ่ง
คุณอาจจำได้จากคอร์สพื้นฐานว่าการ join ตารางทำอย่างไร ตัวอย่างการ join กับตาราง Calendar มีดังนี้:
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.___ = ___;