employee id reporting_head_id
----------------------------------
1 0
2 1
3 1
4 2
5 2
6 3
7 4
8 5
9 6
假设我希望所有员工在emp_id=1
.
所以我可以从
select * from employee where reporting_head_id=1
它将返回 2 和 3。
但我也想搜索那些向他们汇报的员工2
等等3
。以及向 2 和 3 报告的员工,假设那些报告员工也有一些员工报告,所以我也想要他们的信息等等。
我想要给定的所有员工reporting_head_id
以及向.employees reporting
given id
现在如果我搜索下属的员工reporting_head_id 1
,employees 2,3,4,5,6,7,8,9
应该会被退回。
请你能给我解决方案。我是新手SQL
。
我试过这个查询
SELECT *
FROM employee
WHERE reporting_head_id = 1
or reporting_head_id = any (select id from employee where reporting_head_id = 1)
所以它返回 2,3,4,5,6
但是如何找到向 4、5、6 等报告的人