Надеюсь, вы можете мне помочь. Я использую SQL Server 2016 и пытаюсь создать код для возврата всех сообщений и всех подчиненных им сообщений.Получить все сообщения и их подчиненные должности
Следующий код, насколько я получил до сих пор:
;WITH CTE AS
(
SELECT
P.[Post Number],
P.[Authoriser Post Number],
P.[Post Name]
FROM
Structure.Post P
WHERE
P.[Authoriser Post Number] IS NULL
UNION ALL
SELECT
C.[Post Number],
C.[Authoriser Post Number],
C.[Post Name]
FROM
Structure.Post C
JOIN
CTE P ON C.[Authoriser Post Number] = P.[Post Number]
) SELECT * FROM CTE
Результат:
[Post Number] [Authoriser Post Number] [Post Name]
85 NULL CEO
86 85 Development Director
87 85 Sales Director
88 85 HR Director
89 88 HR Manager
90 89 HR Officer
91 89 Recruitment Officer
92 89 HR Assistant
93 87 Sales Manager
94 87 Sales Manager
97 94 Salesman
98 94 Sales Support Officer
95 93 Salesman
96 93 Sales Support Officer
99 86 Web Design Manager
100 86 SQL Manager
104 100 Project Manager
105 100 SQL Developer
101 99 Web Developer
102 99 C# Developer
103 99 Project Manager
То, что я хочу для Поста «генеральный директор», чтобы показать все почтовые номера, то «Директор по развитию», чтобы показать все почтовые номера для всех сообщений ниже их в иерархии и т. д.
Буду признателен за любую помощь.
Вы можете просто показать, что именно вы хотите и какие у вас есть таблицы, а также связь между таблицами? –
Для этого упражнения я использую только таблицу [Structure]. [Post]. У каждой Почты есть [Номер Авторизованного Пользователя], который разрешает отпуск и т. Д. Мне нужно видеть, какие сообщения, прямо или косвенно, управляют другими сообщениями. Таким образом, CEO управляет всеми должностями в организационной структуре, но Директор по развитию управляет только сообщениями ниже его в иерархии. – Peter
которые являются первичным ключом в этих таблицах? а также структуру таблицы? –