mysql - 如何获得不重复的员工/经理表-LMLPHP] 2

mysql - 如何获得不重复的员工/经理表-LMLPHP

我基本上需要为每个部门聘请不同的经理,并将爱丽丝列为所有老板。请帮忙。
这就是我所拥有的:

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

最佳答案

最好的方法是使用分层查询,这在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)

10-07 15:26