BaşlayınÜcretsiz Başlayın

Bir BMW mü inşa edelim?

Bu egzersizde şu soruyu yanıtlayacaksın: Hiyerarşide seviye 3'e kadar arabayı inşa etmek için her bileşenin gerekli toplam miktarı Total nedir?

Görevin, bileşenlerin seviyesini izlemek ve Total alanında bileşenlerin toplam miktarını hesaplamak için construction_Plan adlı CTE'yi oluşturmak. Tablo PartID, SubPartID, Level, Component ve Total alanlarından oluşur. Seviye 1'den başlayarak seviye 3'e kadar tüm bileşenleri dikkate almalısın.

Bu egzersiz

SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Gerekli alanlarla construction_Plan tanımla.
  • CTEnin kök (anchor) öğesinde Total değerini Quantity ile başlat.
  • Yineleme (recursion) öğesinde alt (child) öğenin Quantity değerini Total üzerine ekle.
  • Hiyerarşideki ID'ler üzerinde toplanmış bilgiler için Total değerinin toplamını oluşturmak üzere SUM() kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- 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;
Kodu Düzenle ve Çalıştır