ComenzarEmpieza gratis

¿Quién es tu responsable?

En este ejercicio vamos a usar el conjunto de datos de una organización de TI que está en la tabla employee. La tabla tiene los campos ID (número de identificación del empleado), Name (nombre del empleado) y Supervisor (número de identificación del responsable).

La organización de TI se compone de distintos roles y niveles.

A section of the entire hierarchy

La organización tiene un director de TI (ID=1, Heinz Griesser, Supervisor=0) con muchos empleados a su cargo. Bajo el director de TI está el responsable de arquitectura de TI (ID=10, Andreas Sternig, Supervisor=1) con tres personas a su cargo. Para Andreas Sternig Supervisor=1, que es el ID del director de TI.

Primero queremos responder a la pregunta: ¿Quiénes son los responsables de cada empleado?

Vamos a resolverlo consultando el conjunto de datos de forma recursiva.

Este ejercicio forma parte del curso

Consultas jerárquicas y recursivas en SQL Server

Ver curso

Instrucciones del ejercicio

  • Crea una CTE con el nombre employee_hierarchy.
  • Selecciona la información del director de TI como paso inicial de la CTE filtrando por su Supervisor ID.
  • Realiza un join con employee para obtener el nombre del responsable.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

-- Create the CTE employee_hierarchy
WITH ___ AS (
	SELECT
		ID, 
  		NAME,
  		Supervisor
	FROM employee
  	-- Start with the IT Director
	WHERE ___ = ___
	UNION ALL
	SELECT 
  		emp.ID,
  		emp.NAME,
  		emp.Supervisor
	FROM employee emp
  		JOIN employee_hierarchy
  		ON emp.Supervisor = employee_hierarchy.ID)
    
SELECT 
    cte.Name as EmployeeName,
    emp.Name as ManagerName
FROM employee_hierarchy as cte
	JOIN employee as emp
	-- Perform the JOIN on Supervisor and ID
	ON cte.___ = emp.___;
Editar y ejecutar código