Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

baumstruktur in SQL-Abfrage

Empfohlene Antworten

Veröffentlicht

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

Hi,

poste doch mal bitte die Tabellenstruktur von "ordner", dann ist das besser nachzuvollziehen.

Wonach soll denn Dein Baum sortiert sein?

Gruss, Axl

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.

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

Hey, danke, das funktioniert ja super. War mir echt ne große Hilfe, vielen Dank!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.