Struktura drzewa sql sever - tree

WITH cte AS
(
  SELECT
    [id],
    [id_produkt], 
	[id_nadrzedny_produkt],
	[ilosc],
    [id_typ_opakowania],
    CAST(0 AS varbinary(MAX)) AS Level
  FROM [EDI_FORM].[dbo].[NoweProdukty_opakowanie]
  WHERE [id_nadrzedny_produkt] = 0 
  UNION ALL
  SELECT 
    i.[id],
    i.[id_produkt], 
    i.[id_nadrzedny_produkt],
    i.[ilosc],
    i.[id_typ_opakowania],  
    Level + CAST(i.[id] AS varbinary(MAX)) AS Level
  FROM [EDI_FORM].[dbo].[NoweProdukty_opakowanie] i
  INNER JOIN cte c
    ON c.[id] = i.[id_nadrzedny_produkt]
)
SELECT 
	[id],
    [id_produkt], 
	[id_nadrzedny_produkt],
	[ilosc],
    [id_typ_opakowania]
FROM cte
ORDER BY [Level];
Kategoria: