У меня есть следующая таблица сотрудников и их менеджера:
Организационная иерархия
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