我在一次工作面试中得到了以下问题,它完全把我难住了,所以我想知道是否有人可以帮我解释一下。假设我有下表:
employees
--------------------------
id | name | reportsTo
--------------------------
1 | Alex | 2
2 | Bob | NULL
3 | Charlie | 5
4 | David | 2
5 | Edward | 8
6 | Frank | 2
7 | Gary | 8
8 | Harry | 2
9 | Ian | 8
问题是编写一个 SQL 查询,该查询返回一个表,其中有一列代表每个员工的姓名,一列显示组织中该员工之上的人数:即,
hierarchy
--------------------------
name | hierarchyLevel
--------------------------
Alex | 1
Bob | 0
Charlie | 3
David | 1
Edward | 2
Frank | 1
Gary | 2
Harry | 1
Ian | 2
我什至不知道从哪里开始将其编写为 SQL 查询(也许是游标?)。如果我再次被问到类似的问题,谁能帮助我?谢谢。