Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere tutti i figli di un genitore e quindi i loro figli usando la ricorsione nella query

DECLARE @Id int = your_UnitId
;WITH cte AS 
 (
  SELECT a.Id, a.parentId, a.name
  FROM customer a
  WHERE Id = @Id
  UNION ALL
  SELECT a.Id, a.parentid, a.Name
  FROM customer a JOIN cte c ON a.parentId = c.id
  )
  SELECT parentId, Id, name
  FROM cte

Demo su SQLFiddle