従業員、マネージャ、アクティブ、アクティブな子孫をマネージャの階層の下に表示するクエリを作成する必要があります。誰もが私にこれを助けることができますか?マネージャのアクティブ子孫カウントの取得方法
結果:
/* EmployeeId ManagerId IsActive NoofDescendantsActive
1 -1 0 4
2 1 1 3
3 1 0 2
4 2 1 2
6 2 0 0
7 3 1 0
8 3 1 0
9 4 1 1
10 9 1 0
11 9 0 0
*/
create table Person
(
EmployeeId int,
ManagerId int,
IsActive bit
);
insert into Person(EmployeeId,ManagerId,IsActive) values
(1, -1, 0),
(2, 1, 1),
(3, 1, 0),
(4, 2, 1),
(6, 2, 0),
(7, 3, 1),
(8, 3, 1),
(9, 4, 1),
(10, 9, 1),
(11, 9, 0);
ギブあなたの予想される出力 – Utsav
@cris gomez - あなたはアクティブな子孫をどのように計算していますか?従業員ID#1にはアクティブな直接下位が1つありますが、アクティブな子孫は6つあります。どのように3を得るのだろうか? –
ID#1階層の@DLは、ID#2(アクティブ)とID#6 ID#3はID#9(アクティブ)、ID#9はID#10(アクティブ)、ID#11(非アクティブ)です。アクティブな子孫を取得しているので、アクティブ・デカンタントは3つしかありません。ここにメッセージを送るだけで、もっと情報が必要な場合。ありがとう –