【发布时间】:2018-07-13 15:20:37
【问题描述】:
我有两张表 Employee 和 Department 这张图片显示了每个员工的经理。我想写一个 SQL 查询,给我一个所有主管的列表(经理,经理的经理..)。
我只想要一个列,在给定特定员工时显示主管列表。
例如如果我给员工 id = 202,那么我应该收到 200,130
|supervisor |
+-----------+
| 200 |
| 130 |
我有这个问题
WITH emp_dept as(
SELECT employee_id,manager_id
FROM employee,department
WHERE employee.dept_id= department.dept_id
)
WITH recursive p as (
select e1.employee_id, e1.manager_id
from emp_dept e1
where employee_id = 202
union all
select e2.employee_id , e2.manager_id
from p
join emp_dept e2 ON e2.employee_id = p.manager_id
)
select manager_id
from p
`
我无法使用它。我正在使用 pgadmin4。
如果有人能帮我解决这个问题,我将不胜感激
【问题讨论】:
-
感谢您的帮助,但您提到的问题并不能帮助我获得主管名单。它只是处理总裁的主管是空白的,里面提到的查询只会给我所有员工和经理的列表(只有一个)。
标签: sql postgresql hierarchical-data recursive-query