Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Guten Morgen zusammen!

Ich möchte eine explorerähnliche Baumstruktur im Browser darstellen. Dafür hab ich mir auch Javascript-Funktionen gebastelt, die das hinkriegen. Die Daten für den Explorer kommen aus einer Oracle 9i - Datenbank. Allerdings erwartet das JavaScript die Daten in der richtigen Reihenfolge, d.h. die Abfrage muss rekursiv sein. Bei Oracle gibt es auch eine Abfrage (CONNECT BY mit START WITH), die das hinbekommt. Allerdings kann man in dieser Abfrage kein ORDER BY verwenden. Die Daten kommen zwar jedes Mal in der gleichen Reihenfolge im Browser an, aber nicht alphabetisch.

Kennt jemand eine Möglichkeit, die Daten in der richtigen Reihenfolge anzuzeigen bei CONNECT BY? Oder hat jemand eine SQL-Abfrage entwickelt, die das schafft?

Ich erwarte diese Struktur:

0 Home

---1 Adressverwaltung

------2 Neue Firma

------2 Neue Person

---1 Systeme

------2 Neues System

---1 Wartung

------2 Passwort ändern

Die Datenbank bringt es so:

0 Home

---1 Systeme

------2 Neues System

---1 Wartung

------2 Passwort ändern

---1 Adressverwaltung

------2 Neue Firma

------2 Neue Person

Meine Abfrage sieht so aus:

SELECT id, name, url, icon, target, vaterordner

FROM ordner

WHERE role IN (SELECT granted_role FROM user_role_privs)

START WITH id = 1

CONNECT BY vaterordner = PRIOR id

Geschrieben

Die Struktur der Tabelle sieht so aus:

Ordner

------

ID

NAME

VATERORDNER

ANSICHT

URL

ICON

TARGET

IDENT

ROLE

ID ist Primary Key,

Name ist der sichtbare Name im Explorer,

Vaterordner ist die ID des übergeordneten Ordners.

Ansicht, URL, Icon, Target, Ident und Role spielen für die Sortierart keine Rolle.

Der Baum soll so sortiert sein, dass alle Ordner immer unterhalb ihres Vaterordners erscheinen und alle Ordner gleichen Levels alphabetisch sortiert sind.

Geschrieben

Versuchs mal so...

SELECT id, name, url, icon, target, vaterordner

FROM ordner

WHERE role IN (SELECT granted_role FROM user_role_privs)

START WITH id = 1

CONNECT BY vaterordner = PRIOR id

ORDER SIBLINGS BY name

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...