Announcement

Collapse
No announcement yet.

Hierarchie abbilden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hierarchie abbilden

    Hallo Wissende,

    ich benötige eine einfache Lösung für folgendes Problem:

    In einer Tabelle habe ich Daten über Verzeichnisse. Jeder Datensatz enthält seine ID (ID), den Namen des Verzeichnisses(NAME), die ID des übergeordneten Verzeichnisses (PARENTID) und die Anzahl der untergeordneten Verzeichnisse (CHILD). Somit habe ich eigentlich alle Infos, welche ich benötige, einen Pfad (als text) darzustellen. Ich muss einfach bei den Einträgen mit CHILD=0 anfangen-und schauen, welches darüber liegt, bis ich bei PARENTID=45(45 ist der Kopf der Hierarchie) angekommen bin. Könnte so etwas in einer Abfrage formuliert werden?

    Vielen Dank im Voraus

  • #2
    Hallo,
    MySQL unterstützt nach aktuellem Stand keine hierarchischen Abfragen, so dass sich dies nicht mit einem Statement ermitteln lässt, es sei denn die Anzahl der Hierarchieebenen ist zur Erstellungszeit bekannt und bleibt konstant.
    Hier kommt also nur eine prozedurale Lösung in Frage, die z.B. alle Verzeichnisse rekursiv ermittelt und strukturiert in eine temporäre Tabelle schreibt. Diese temporäre Tabelle lässt sich dann mit einem Statement abfragen.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Originally posted by wurbo View Post
      ...Ich muss einfach bei den Einträgen mit CHILD=0 anfangen-und schauen, welches darüber liegt, bis ich bei PARENTID=45(45 ist der Kopf der Hierarchie) ...
      Das halte ich nicht für die beste Idee. IDs können sich im schlimmsten Fall ändern oder es wird doch noch eine Ebene darüber eingefügt. Der oberste Knoten ist einfach (und das unabhängig) der, der keine PARENTID hat!

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        MySQL kann das scheinbar nicht per SQL Sprachkonstrukt.
        Hier z.B. gibt's einen Vorschlag, das zu lösen:

        http://jan.kneschke.de/projects/mysql/sp/

        Als Denkanstoß mal folgender Vorschlag:
        Die benötigten Unterverzeichnisse werden nur auf Abruf ausgelesen. Das geht mit einer simplen Abfrage aller Elemente nach Parent ID. Man hat zwar nie alle Daten insgesamt vorliegen, aber das System bricht bei der Aufbereitung der Daten auch nicht zusammen, wenn es besonders umfangreiche Verzeichnisse sind.
        Gruß, defo

        Comment

        Working...
        X