เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ประกอบรถ BMW?

ในแบบฝึกหัดนี้ จะตอบคำถามต่อไปนี้: ปริมาณรวมที่ต้องใช้ Total ของแต่ละชิ้นส่วนเพื่อประกอบรถยนต์จนถึงระดับที่ 3 ในลำดับชั้นคือเท่าใด?

หน้าที่คือสร้าง CTE ชื่อ construction_Plan เพื่อติดตามระดับของชิ้นส่วนและคำนวณปริมาณรวมของชิ้นส่วนในฟิลด์ Total โดยตารางประกอบด้วยฟิลด์ PartID, SubPartID, Level, Component และ Total และต้องพิจารณาชิ้นส่วนทั้งหมดตั้งแต่ระดับ 1 จนถึงระดับ 3

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Hierarchical and Recursive Queries in SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนด construction_Plan พร้อมระบุฟิลด์ที่จำเป็น
  • กำหนดค่าเริ่มต้นของ Total ด้วย Quantity ใน anchor element ของ CTE
  • เพิ่มค่า Total ด้วย Quantity ของ child element ในส่วน recursion element
  • ใช้ SUM() เพื่อคำนวณผลรวมของ Total บนข้อมูลที่รวมกลุ่มตาม ID ของลำดับชั้น

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- Define CTE with the fields: PartID, SubPartID, Level, Component, Total
WITH ___ (___, ___, ___, ___, ___) AS (
	SELECT 
  		PartID,SubPartID,
  		0,
  		Component,
  		-- Initialize Total
  		___
	FROM partList
	WHERE PartID = '1'
	UNION ALL
	SELECT 
		CHILD.PartID, CHILD.SubPartID,
  		PARENT.Level + 1,
  		CHILD.Component,
  		-- Increase Total by the quantity of the child element
  		PARENT.___ + CHILD.___
	FROM construction_Plan PARENT, partList CHILD
  	WHERE CHILD.SubPartID = PARENT.PartID
	  AND PARENT.Level < 3)
      
SELECT 
    PartID, SubPartID,Component,
    -- Calculate the sum of total on the aggregated information
    ___(___)
FROM construction_Plan
GROUP BY PartID, SubPartID, Component
ORDER BY PartID, SubPartID;
แก้ไขและรันโค้ด