WITH RECURSIVE EmployeeHierarchy AS (
SELECT
employee_id,
name,
manager_id,
1 AS depth
FROM employees
WHERE manager_id IS NULL -- начальная точка: верхний уровень иерархии
UNION ALL
SELECT
e.employee_id,
e.name,
e.manager_id,
eh.depth + 1
FROM employees e
INNER JOIN EmployeeHierarchy eh ON e.manager_id = eh.employee_id -- рекурсивное соединение
)
SELECT * FROM EmployeeHierarchy;
SELECT
employee_id,
name,
manager_id,
1 AS depth
FROM employees
WHERE manager_id IS NULL -- начальная точка: верхний уровень иерархии
UNION ALL
SELECT
e.employee_id,
e.name,
e.manager_id,
eh.depth + 1
FROM employees e
INNER JOIN EmployeeHierarchy eh ON e.manager_id = eh.employee_id -- рекурсивное соединение
)
SELECT * FROM EmployeeHierarchy;
WITH RECURSIVE EmployeeHierarchy AS (
SELECT
employee_id,
name,
manager_id,
1 AS depth
FROM employees
WHERE employees.name = 'Senior Otabek' -- начальная точка: верхний уровень иерархии
UNION ALL
SELECT
e.employee_id,
e.name,
e.manager_id,
eh.depth + 1
FROM employees e
INNER JOIN EmployeeHierarchy eh ON e.manager_id = eh.employee_id -- рекурсивное соединение
)
SELECT
employee_id,
name,
manager_id,
1 AS depth
FROM employees
WHERE employees.name = 'Senior Otabek' -- начальная точка: верхний уровень иерархии
UNION ALL
SELECT
e.employee_id,
e.name,
e.manager_id,
eh.depth + 1
FROM employees e
INNER JOIN EmployeeHierarchy eh ON e.manager_id = eh.employee_id -- рекурсивное соединение
)