En Oracle existe la setencia START WITH and CONNECT BY, de manera que se puede hacer

SELECT child, parent, level
FROM  Prueba
START WITH parent is null
  CONNECTED BY PRIOR child = parent;
En SQL como sintaxis equivalente tenemos:
WITH Empleados (EmployeeID, ManagerID, Level)
AS
 (
 SELECT EmployeeID, ManagerID, 1
 FROM HumanResources.Employee
 WHERE ManagerID IS NULL
 UNION ALL
 SELECT Employee.EmployeeID, Employee.ManagerID, Empleados.Level+1
 FROM HumanResources.Employee
 JOIN Empleados
 ON Empleados.EmployeeID=Employee.ManagerID
 )
SELECT * FROM Empleados
0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Particionado de tablas en SQL Server 2014

Tradicionalmente el particionado de datos no ha sido muy de mi agrado por las implicaciones de mantenimiento que se tenian asociadas. Tareas como reindexar, mover particiones entre tablas, actualizar estadísticas,…no eran tarea sencilla en entornos con carga 24x7 en el momento en el que particionabas una tabla.