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などに報告する人を見つける方法