sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo obtener todos los hijos de un padre y luego sus hijos usando la recursividad en la 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

Demostración en SQLFiddle