SQL:列出向报告的员工报告的员工(____)

时间:2016-12-01 03:16:29

标签: sql

从这张表.. Employees Table

问题:列出向向Diane Murphy报告的员工报告的员工。使用CONCAT功能将员工的名字和姓氏合并到一个字段中进行报告。

我的非工作查询..

SELECT employeeNumber, CONCAT(firstName, ' ', lastName), reportsTo
FROM Employees 
WHERE reportsto= 1002 
AND WHERE (SELECT CONCAT(firstName, ' ', lastName), reportsTo
             FROM employees
             WHERE reportsTo= 1056 AND 1076);

说实话,我对这个问题感到很困惑。

1002 = Diane Murphy

1056 =玛丽帕特森

1076 = Jeff Firrelli

根据我的理解,我试图基于分层系统来查询这个问题。 我知道Mary和Jeff都向Diane Murphy报告,我可以看看桌子,看看谁向Mary和Jeff报告,但是我完全失去了我要查询的内容。

任何帮助将不胜感激!

谢谢。

2 个答案:

答案 0 :(得分:3)

SELECT A.employeeNumber, CONCAT(A.firstName, ' ', A.lastName), A.reportsTo
FROM Employees A 
INNER JOIN Employees B ON A.reportsTo = B.employeeNumber
WHERE B.reportsto = 1002

别名B和条件会将员工报告提取到1002&因此,您将获得向1056& 1076

答案 1 :(得分:1)

这应该做你想要的:

sublist([i, m], [m, i, m]) ==> `true`