2014-09-12 50 views
-3

任何人都可以在SQL Server中爲用戶表結構提供用戶角色層次結構嗎?這將不勝感激,如果SQL查詢也給予。在SQL Server中獲取用戶角色層次

用戶結構必須像下面......

        CEO 
            | 
            VP 
            | 
         ---------------------------- 
         |       | 
       Sales Manager 1     Sales Manager 2 
         |       | 
       -----------------  ------------------------ 
       |    |  |   |   | 
      Sales Person1  SP2  SP3   SP4  SP5 
+2

*「需要表結構與查詢」*我不知道這是如何相關的? – 2014-09-12 12:25:11

回答

1

角色表:

RoleId 
RoleName 

用戶表:

UserId 
UserName 
RoleId 
ManagerId 

這取決於你想要什麼在你的查詢中。一個簡單的將是這樣的:

select 
u.UserName as UserName, 
r.RoleName as UserRole, 
ISNULL(m.Name, 'No Manager') as ManagerName, 
ISNULL(mr.Name, '') as ManagerRole 
FROM Users u 
INNER JOIN Roles r on r.RoleId = u.RoleId 
LEFT JOIN Users m on m.UserId = u.ManagerId 
INNER JOIN Roles mr on r.RoleId = m.RoleId 
+0

感謝您的快速響應!你能提供一個查詢嗎? – Merin 2014-09-12 11:56:18