Создание таблицы иерархии - PullRequest
0 голосов
/ 02 мая 2020

У меня есть следующая таблица сотрудников и их менеджера:

Организационная иерархия

EmployeesMangerTable

Сотрудник, менеджер

1, 1

2, 1

3, 1

4, 3

5, 3

Я хотел бы создать таблицу, которая свяжет каждого менеджера со всеми сотрудниками в дереве иерархии, а также с каждым сотрудником. Это используется для создания таблицы разрешений.

Результат должен быть таким:

DesiredTable

Мне удалось написать SQL для первых двух частей (сотрудники могут видеть себя и могут видеть их непосредственный руководитель). Мне не удается получить место, где сотрудники могут видеть не непосредственного менеджера. то есть что сотрудников 4 и 5 можно увидеть по

Select u.[Employee] Employee ,u.[Manager] Manager FROM User1To5 u   --Employees can be seen by direct manager
UNION ALL
Select u.[Employee] Employee ,u.[Employee] Manager FROM User1To5 u   --Employees can be seen by self
...