在我的数据库(SQL Server)中,我有一个员工信息表。每个员工都有一名经理。表中有员工的层次结构。以下是此表中的一些演示数据
EmpId | Name | Managerid
----- | ------- | ---------
1 | John | 0
2 | Thomas | 1
3 | William | 1
4 | Richard | 3
5 | Mary | 0
6 | Anne | 4
7 | Matthew | 5
8 | Samuel | 7
9 | Sarah | 8
10 | Walter | 5
11 | Ellen | 3
12 | Amy | 0
13 | Rachel | 12
14 | David | 4
15 | Lucy | 3
我的要求是找出每位员工的最高管理者。所以结果看起来应该是
EmpId | Name | ManagerName
----- | ------- | ---------
1 | John | -
2 | Thomas | John
3 | William | John
4 | Richard | John
5 | Mary | -
6 | Anne | John
7 | Matthew | Mary
8 | Samuel | Mary
9 | Sarah | Mary
10 | Walter | Mary
11 | Ellen | John
12 | Amy | -
13 | Rachel | Amy
14 | David | John
15 | Lucy | John
我怎样才能得到这个结果。