MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Definisikan construction_Plan dengan field: PartID, SubPartID, Title, Component, dan Level.
  • Inisialisasi field Level ke 1.
  • Tambahkan Level sebanyak 1 pada setiap langkah rekursi.
  • Batasi jumlah langkah (Level) agar lebih kecil dari 2.

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;
Edit dan Jalankan Kode