次のような部門(子内)のすべての従業員をカウントする単純なSQLクエリがあります。
With Temp(id) AS
(
Select d.id From DEPARTMENT d
Where d.id = 1
UNION ALL
Select d.id From DEPARTMENT d JOIN Temp te ON d.idDepartment = te.id
)
Select count(*) From
(
Select e.id From Employee e Join Temp te On e.idDepartment = te.id
)
しかし、「StackOverflow」というエラーが表示されます。どこが間違っているのかわかりません。助けてもらえますか? テスト ケースのデータがいくつかあります: テーブル Department :
ID----------departmentName-----------idDepartment(id parent)
1 A 0
2 B 1
テーブルの従業員:
id----------employeeName------------idDepartment
1 E_1 1
2 E_2 1
3 E_3 2
したがって、部門 (A) の従業員の数を選択すると、結果: 3、部門 B の場合は --> 結果: 1 ありがとう!