AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird - Rekursive SQL mit mehreren "Ebenen"

Firebird - Rekursive SQL mit mehreren "Ebenen"

Ein Thema von TheMiller · begonnen am 21. Okt 2010 · letzter Beitrag vom 26. Okt 2010
 
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Firebird - Rekursive SQL mit mehreren "Ebenen"

  Alt 21. Okt 2010, 12:46
Datenbank: Firebird Embedded • Version: 2.1 • Zugriff über: Zeos
Hallo,

ich hatte damals schonmal Hilfe bekommen, weil ich mich mit rekursiven SQL-Abfragen garnicht auskannte. Habe das damalige Problem mit eurer Hilfe auch lösen können, stehe aber wieder vor einen Problem, welches ich auch trotz vieler Versuche nicht gelöst bekomme.

Mein Ziel ist es, in eine Treeview alle Ordner, deren x-beliebige Unterordner und alle Artikel auszulesen, die die Ordner enthalten. Dabei soll alles (Ordnernamen und Artikelnamen) jeweils alphabetisch sortiert werden.

Die SQL-Abfrage für die (Sub-)Ordner in alphabetische Reihenfolge habe ich schon. Es fehlen nur noch die jeweiligen Artikel. Ich würde gerne vermeiden, deswegen eine neue SQL-Abfrage auszuführen - oder wäre dies sinnvoller bzw. die einzige Möglichkeit?

Hier mal die Tabellen und der Quellcode....:

Tabelle für die Ordner "Ablage":

Code:
ID | VATER | ORDNERNAME
Tabelle für die Artikel

Code:
ID | ORDNERID | TITEL
Delphi-Quellcode:
db.sql('WITH RECURSIVE ordner AS ' +
         ' (SELECT * FROM ABLAGE) ' +
         'SELECT * FROM ABLAGE k ' +
         ' LEFT JOIN ordner o ' +
         ' ON (o.id = k.vater) ORDER BY k.vater ASC, k.ordnername ASC');
Vielleicht geht es auch nicht anders, als zwei Statements ausführen zu lassen. Vielleicht habt ihr noch eine Idee. Aber ganz allgemein: Rekursion fällt mir seeehr schwer...

Danke im Voraus
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz