Rekursion mit COUNT(*)

Termos

Mitglied
Hallo Community,

folgendes Problem.

Ich habe eine Organisationstabelle die wie folgt aufgebaut ist (vereinfacht)

Name Referenz BelongsTo
A 1 NULL
B 2 1
C 3 1
D 4 2
E 5 2
F 6 2
G 7 3
H 8 3
I 9 3
J 10 9
K 11 9
L 12 9
M 13 9
N 14 9
O 15 5​


Daraus baue ich durch Rekursion momentan einen Baum

Nun kommt die Krux an der Sache, die ganze Tabelle bzw der Baum ist mit einer Tabelle Applikations verknüpft -> 1:m Eine Orgaisation hat mehrere Applikationen, diese befinden sich an der REFERENZ


Ziel soll es nun sein, wenn der USER die '1' als Start auswählt, sieht er die Abteilungen eine Stufe darunter. Bsp.:
Name:
B
C

Alle dazu gehörenden Unterorganisationen und deren Applikationen sollen nun zu B und Z aufsummiert werden

Bsp.:
Name: Anzahl Applikationen:
B 300
C 250

B bekommt also die Anzahl an Applikationen der Organisationen von (D,E,F,O)
C bekommt die Anzahl an Appplikationen von (G,H,I,J,K,L,M,N)



Ich dachte evtl an eine zweite Rekursion wobei das Ergebnis der ersten den Ausgangswert für die zweite Rekursion darstellt und nur eine Stufe nach unten läuft. Dann kann ich aber keine getrennte Berechnung mehr für B und C erstellen.

Habt ihr evtl eine Idee? Ganz großes Manko an der Sache, ich kann keine Variablen benutzen. Der SQL Code stellt die Grundlage für ein BI-Tool dar.


Vielen Dank
 
Zurück