Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir tous les enfants d'un parent, puis leurs enfants en utilisant la récursivité dans la requête

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

Démo sur SQLFiddle