Vinzenz Mai: DB-Frage

Beitrag lesen

Hallo HIrsch

Ich brauch aber auf jeden fall ne for schleife gelle?

Ja. Falls Dein DBMS den entsprechenden Sprachumfang von SQL unterstützt, bevorzugt in SQL, falls nicht in der Anwendung.

Welches Datenbankmanagementsystem steht Dir in welcher Version zur Verfügung?

Das geht mir zu hoch...

So schwer sind Schleifen nun auch wieder nicht. Für Dein Problem der Algorithmus (ohne Fehlerbehandlung) in einer Art Pseudocode:

Ermittle zur gegebenen ID die Parent-ID
  Solange die Parent-ID grösser ist als 1
    ID := Parent-ID
    Ermittle die Parent-ID zur ID
  Ende Solange
  Wenn Parent-ID gleich 1
    Ermittle den Inhalt der Suchspalte zur ID
  Sonst
    Fehler aufgetreten
  Ende Wenn

Wenn Dein Baum unsauber aufgebaut ist, dann kannst Du in die schönste Endlosschleife geraten. Deswegen mein Tipp: Speichere die (redundante, da berechenbare) Tiefe jedes Knotens mit ab. Zähle die Anzahl der Schleifendurchläufe mit. Ist sie größer als die maximale Tiefe, breche mit einer Fehlermeldung ab.

Sollte weder in SQL noch in der Anwendung schwer zu schreiben sein.

Freundliche Grüße

Vinzenz