我想获取给定“负责人/员工”下的员工列表。
它应返回所有分目及其下属分目和雇员。
以下是所有员工及其职务的列表。
| 员工ID|名称名称名称|名称|主管空ID|
| - -|- -|- -|- -|
| 一个|首席执行官|一个|第0页|
| 2个|国家/地区-美国|2个|一个|
| 三个|国家/地区-英国|2个|一个|
| 四个|美国州标|三个|2个|
| 五个|美国州标B|三个|2个|
| 六个|州标-英国-C|三个|三个|
| 七个|区域标题-A|九个|六个|
| 八个|区域标题-B|九个|六个|
| 九个|区域标题-C|九个|四个|
| 10个|城市领导-A|十二|七个|
让我们问谁在“CountryHead-UK”下?
它应该返回
| 员工ID|名称名称名称|名称|头部|
| - -|- -|- -|- -|
| 三个|国家/地区-英国|2个|一个|
| 六个|州标-英国-C|三个|三个|
| 七个|区域标题-A|九个|六个|
| 八个|区域标题-B|九个|六个|
| 10个|城市领导-A|十二|七个|
如果我们询问谁应该在CEO之下,那么它应该返回everyone(对于此示例数据)
DROP TABLE IF EXISTS #A
CREATE TABLE #A (EmpID int,Name VARCHAR(MAX), Designation INT, HeadEmpID INT)
INSERT INTO #A VALUES (1,'CEO',1,0)
INSERT INTO #A VALUES (2,'CountryHead-USA',2,1)
INSERT INTO #A VALUES (3,'CountryHead-UK',2,1)
INSERT INTO #A VALUES (4,'StateHead-USA-A',3,2)
INSERT INTO #A VALUES (5,'StateHead-USA-B',3,2)
INSERT INTO #A VALUES (6,'StateHead-UK-C',3,3)
INSERT INTO #A VALUES (7,'ZoneHead-A',9,6)
INSERT INTO #A VALUES (8,'ZoneHead-B',9,6)
INSERT INTO #A VALUES (9,'ZoneHead-C',9,4)
INSERT INTO #A VALUES (10,'CityHead-A',12,7)
SELECT * FROM #A a
1条答案
按热度按时间q1qsirdb1#
谢谢Larnu的提示。
跟随工作。