Hallo,
habe da ein logisches Prob was auch unter SQL gelöst werden können sollte. Es geht um Hauptbaugruppen, Unterbaugruppen, Baugruppen.
Jeder Satz hat eine Baugr_ID und eine HptBaugr_id (gleiche Tabelle). Die Baugr_ID ist prim. Schlüssel.
Baugr_ID HptBaugr_id <br>
1 ******* 4 *****<br>
2 ******* 4 *****<br>
3 ******* 2 ***** <--- wie krieg ich den mit dazugezählt, bzw. separat ausgewiesen? <br>
4 ******* 4 ***** <br>
5 ******* 2 ***** <--- wie krieg ich den mit dazugezählt, bzw. separat ausgewiesen? <br>
Nun möchte ich wissen, wieviel verschiedene Baugruppen beinhaltet die HptBaugr_id= 4. Bei
Select count(*) from Tabelle where HptBaugr_id = 4
kommt als Antwort z.B. 7. Diese Antwort berücksichtigt aber nur die direkten Unterbaugruppen. Wenn diese nochmal weiterverzweigen bekomme ich die so nicht zu fassen. Zumal es ja beliebig tiefe Verzweigungen dieser verketteten Liste geben kann. Wie bekommt man die zu fassen, separat ausgewiesen? Geht das in SQL überhaupt?
Schön wäre ein Ergebnis wie:
HptBaugr_id Ebene_1 Ebene_2 Ebene_3 Ebene_4 Ebene_n <br>
4 ********** 7******* 2******** 8******* 0****** 0 <br>
2 ********** 3******* 17******* 4******* 2****** 5 <br>
Oder bleibt da nur das Abzählen per Schleife mit "while true".
Gibt es in SQL eine Lösung für verkettete Listen? Tks.
Viele Grüße, Kde
habe da ein logisches Prob was auch unter SQL gelöst werden können sollte. Es geht um Hauptbaugruppen, Unterbaugruppen, Baugruppen.
Jeder Satz hat eine Baugr_ID und eine HptBaugr_id (gleiche Tabelle). Die Baugr_ID ist prim. Schlüssel.
Baugr_ID HptBaugr_id <br>
1 ******* 4 *****<br>
2 ******* 4 *****<br>
3 ******* 2 ***** <--- wie krieg ich den mit dazugezählt, bzw. separat ausgewiesen? <br>
4 ******* 4 ***** <br>
5 ******* 2 ***** <--- wie krieg ich den mit dazugezählt, bzw. separat ausgewiesen? <br>
Nun möchte ich wissen, wieviel verschiedene Baugruppen beinhaltet die HptBaugr_id= 4. Bei
Select count(*) from Tabelle where HptBaugr_id = 4
kommt als Antwort z.B. 7. Diese Antwort berücksichtigt aber nur die direkten Unterbaugruppen. Wenn diese nochmal weiterverzweigen bekomme ich die so nicht zu fassen. Zumal es ja beliebig tiefe Verzweigungen dieser verketteten Liste geben kann. Wie bekommt man die zu fassen, separat ausgewiesen? Geht das in SQL überhaupt?
Schön wäre ein Ergebnis wie:
HptBaugr_id Ebene_1 Ebene_2 Ebene_3 Ebene_4 Ebene_n <br>
4 ********** 7******* 2******** 8******* 0****** 0 <br>
2 ********** 3******* 17******* 4******* 2****** 5 <br>
Oder bleibt da nur das Abzählen per Schleife mit "while true".
Gibt es in SQL eine Lösung für verkettete Listen? Tks.
Viele Grüße, Kde
Comment