Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter todos os filhos de um pai e depois seus filhos usando recursão na consulta

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

Demonstração em SQLFiddle