Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Rekursive Abfrage für Unterkategorien

  Alt 7. Jan 2010, 11:39
Datenbank: MSSQL • Version: 2005 • Zugriff über: SQL Management Studio
Hallo zusammen.

Ich verzweifele gerade an einer rekursiven Abfrage. Ich habe eine Tabelle mit Kategorien, die auch gleichzeitig eine Verschachtelung in Unterkategorien anbietet. Das ganze sieht dann etwa so aus:

SQL-Code:
CatID | Bezeichnung | OberCatID
---------------------------------
1 | Hauptkategorie | NULL
2 | Kat 1 | 1
3 | Kat 2 | 1
4 | Kat 3 | 2
...
Ich möchte nun in einer Abfrage die richtige Reihenfolge für eine Baumstruktur bekommen und zusätzlich eine Spalte mit der Hierarchieebene ermitteln. Das ganze sollte dann so aussehen;

SQL-Code:
CatID | Bezeichnung | OberCatID | Tiefe
----------------------------------------
1 | Hauptkategorie | NULL | 1
2 | Kat 1 | 1 | 1
4 | Kat 3 | 2 | 2
3 | Kat 2 | 1 | 1
...
Damit möchte in dann später eine Baumansicht generieren. Das Tabellendesign muss ich also so vorgegeben betrachten und ich möchte es gerne soweit wie möglich in SQL lösen. Das ganze war für mich als persönliche Klausurvorbereitung gedacht zum transitiven Abschluss. Mittlerweile glaube ich aber, dass man das anders lösen muss, da ich beim transitiven Abschluss ja auch alle indirekten Beziehungen bekomme.

Hat jemand eine Idee, wie man dieses Problem lösen könnte?

Viele Grüße
  Mit Zitat antworten Zitat