Buat bill of material untuk sebuah mobil
Dalam latihan ini, Anda akan menjawab pertanyaan berikut: Berapa level dari berbagai komponen penyusun sebuah mobil?
Sebagai contoh, sebuah SUV (level 1) tersusun dari sebuah mesin (level 2) dan bodi (level 2), dan bodi tersusun dari sebuah pintu (level 3) dan kap mesin (level 3).
Tugas Anda adalah membuat kueri untuk mendapatkan level hierarki dari tabel partList. Anda harus membuat CTE construction_Plan dan melacak posisi suatu komponen dalam hierarki. Lacak semua komponen mulai dari level 1 hingga level 2.
Latihan ini adalah bagian dari kursus
Kueri Hierarkis dan Rekursif di SQL Server
Petunjuk latihan
- Definisikan
construction_Plandengan field:PartID,SubPartID,Title,Component, danLevel. - Inisialisasi field
Levelke 1. - Tambahkan
Levelsebanyak 1 pada setiap langkah rekursi. - Batasi jumlah langkah (
Level) agar lebih kecil dari2.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- Define CTE with the fields: PartID, SubPartID, Title, Component, Level
___ construction_Plan (___, ___,___, ___, ___) AS (
SELECT
PartID,
SubPartID,
Title,
Component,
-- Initialize the field Level
___
FROM partList
WHERE PartID = '1'
UNION ALL
SELECT
CHILD.PartID,
CHILD.SubPartID,
CHILD.Title,
CHILD.Component,
-- Increment the field Level each recursion step
PARENT.___ + ___
FROM construction_Plan PARENT, partList CHILD
WHERE CHILD.SubPartID = PARENT.PartID
-- Limit the number of iterations to Level < 2
AND PARENT.___ < ___)
SELECT DISTINCT PartID, SubPartID, Title, Component, Level
FROM construction_Plan
ORDER BY PartID, SubPartID, Level;