] 2
我基本上需要为每个部门获得不同的经理,并将Alice列为他们所有的老板。请帮忙。 这就是我所拥有的:
SELECT distinct WRK.EMP_NUMBER, WRK.EMP_FNAME as WORKER_NAME,
BOSS.EMP_FNAME AS BOSS_NAME, BOSS.DEPT_NAME
FROM EMPLOYEE AS WRK, EMPLOYEE AS BOSS, DEPARTMENT
WHERE WRK.BOSS_NUMBER = BOSS.EMP_NUMBER
答案 0 :(得分:1)
最好的方法是使用MySQL中不支持的分层查询,请参阅http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/了解如何实现它以及使用它可以做的很酷的事情。
另一方面,如果您只需要管理员名称,无论您可以使用IN还是自联接。
查询应为:
SELECT emp_name, department
FROM employee
WHERE emp_number IN (
SELECT DISTINCT boss_number
FROM employee
WHERE boss_number IS NOT NULL)