Mertez: Rekursion beim Select beruecksichtigen

Guten Tag liebe Gemeinde,

folgendes Szenario:
Ich habe eine Tabelle "Location" und eine Tabelle "Event".
Jedes Event besitzt eine Referenz-Id auf die Tabelle Location.

Die Locations sind in vier Ebenen aufgebaut, so dass jede Location - bis auf die oberste Ebene - eine ParentID besitzt.
Somit lässt sich folgender Aufbau realisieren:

Europa -> Deutschland -> Westfalen -> Bielefeld

Obige Breadcrumb bewirkt, dass alle Events fuer den Raum Bielefeld selektiert werden.
Klickt der Benutzer nun auf Westfalen, so sollen ihm alle Events fuer den Raum Westfalen ausgegeben werden.

Und genau um diese Logik geht es mir nun.
Kann ich diese Rekursion bereits in dem Select einbauen?

Denn an dieser Stelle

Europa -> Deutschland -> Westfalen

kann ich ja nicht nach der ParentID von Westfalen abfragen, da die einzelnen Events ja eine ParentId auf einen direkten Ort haben, nicht auf das Bundesland selbst.

Ich koennte natuerlich mit einem Subselect arbeiten. Doch im Fallen eines Bundeslandes kommen dann schon ein paar hundert Unterorte vor.
Gibt es hierfuer eine elegantere Loesung? Oder wäre so ein Subselect völlig liegitim?

Vielen Dank im Voruas
Mertez

  1. Hallo,

    Somit lässt sich folgender Aufbau realisieren:

    Europa -> Deutschland -> Westfalen -> Bielefeld

    Obige Breadcrumb bewirkt, dass alle Events fuer den Raum Bielefeld selektiert werden.

    um hierachische Beziehungen in einer relationalen Datenbank umzusetzen, empfehle ich Dir das Muster Nested Sets.

    Freundliche Grüße

    Vinzenz