如何取得下属部门的员工?
表
dept_id super_dept_id dept_name
1 0 中国公司
2 1 北京分公司
3 1 广东分公司
4 2 北京东城区分公司
5 2 北京海淀区分公司
6 3 广东广州分公司
7 3 广东深圳分公司
---
形式如:
中国公司
北京分公司
北京东城区分公司
北京海淀区分公司
广东分公司
广东广州分公司
广东深圳分公司
表员工表:
staff_id dept_id(部门ID) staff_name
1 2 小经
2 4 小强
3 5 小公
如要取得北京分公司的员工,就可以得到北京分公司下属的员工.
------解决方案--------------------select * from 表员工表 where dept_id = (select dept_id from 部门表 where dept_name = '北京分公司 ')
------解决方案--------------------select * from 员工表 where depart_id=(select dept_id from 部门表 where dept_name = '北京分公司 ') or
depart_id=(select b.dept_id from 部门表 a join 部门表 b on a.super_dept_id=b.dept_id where a.dept_name = '北京分公司 ')