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

UNPIVOT “SINCRONO”

Más de una vez nos hemos encontrado en la situación de tener que unpivotar una tabla, teniendo así que recurrir o bien al componente “Unpivot” de SSIS o incluso a tener que guardar los datos en tabla y realizar posteriormente una lectura de esta misma utilizando T-SQL para unpivotarla, con los problemas que ambas soluciones nos puedan conllevar con un gran volumen de datos.
Leer más

Depurar aplicaciones contra datos de producción: ofuscación y GDPR

¿Cómo trabajas con tus bases de datos en producción? ¿Y en entornos de desarrollo? Las organizaciones manejan un enorme volumen de datos personales en sus plataformas de datos y documentos electrónicos digitalizados y físicos que custodian. El 90% de los documentos que las empresas almacenan tiene algún tipo de información de carácter personal. ¿Estás tomando las medidas adecuadas para proteger la información sensible, como exige la normativa? La ofuscación puede ayudarte a cumplir con la GDPR. En este artículo te contamos cómo.