Ich muss eine Abfrage erstellen, die die Mitarbeiter, den Manager, Active und die aktiven Nachkommen unter der Hierarchie des Managers anzeigt. Jeder kann mir dabei helfen?So erhalten Sie die Anzahl aktiver Abkömmlinge des Managers
Ergebnisse:
/* 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);
Giv e Ihre erwartete Ausgabe – Utsav
@cris gomez - Wie berechnen Sie aktive Nachkommen? Employee ID # 1 scheint 1 aktives direktes Descendend, aber 6 aktive aktive Nachkommen zu haben. Du fragst dich, wie du 3 bekommst? –
@DL, unter der ID # 1 Hierarchie, ist ID # 2 (aktiv) und ID # 3 (nicht aktiv) basiert auf IsActive Feld, unter ID # 2, ist ID # 4 (aktiv) und ID # 6 (nicht aktiv), ID # 3 hat keine Nachkommen, Unter ID # 4 ist ID # 9 (aktiv), Unter ID # 9 ist ID # 10 (aktiv) und ID # 11 (nicht aktiv). Da wir die aktiven Nachkommen erhalten, erhalten wir nur 3 Nein von aktiven Nachkommen. Wenn Sie weitere Informationen benötigen, senden Sie uns einfach eine Nachricht. Danke –