Andreas Lindig: Wie Rekursion modellieren?

Beitrag lesen

Mit SELECT id_subaktionen FROM subaktionen WHERE aktionen.id_aktionen = subaktionen.id_aktionen erhalte ich doch alle Subaktionen die eine Aktion beinhaltet.

nö. Damit erhälst Du zunächst mal alle UnterIDs zu _jeder_ HauptID.

im Allgemeinen wirst Du doch die _Namen_ der Subaktionen suchen und zwar von nur _einer_ Hauptaktion. Was nützt es Deiner Putzfrau, wenn Du ihr einen Zettel ausdruckst: "bitte heute 2, 3 und 5 erledigen." - das geht nur, wenn sie schon länger bei Dir arbeitet und die Bedeutung der Nummern kennt oder eine Liste hat.

Du wirst also fragen wollen: "Mein Freund die Datenbank, welche Aktionen muß ich erledigen um mein Zimmer aufzuräumen?" Und als Antwort willst Du erhalten: "Staubsaugen, Abstauben".

in SQL etwa so:

SELECT beschreibung
FROM   aktion, subaktion
WHERE  aktion.id_aktion = subaktion.id_aktion
AND    id_subaktion = aktion.id_aktion
AND    aktion.id_aktion = 1

wobei ich mich gerade frage, ob das _überhaupt_ geht, weil in der letzten Zeile ja schon die Datenmenge auf id = 1 reduziert wird. Evtl. mußt Du also sogar noch zwei Abfragen machen.

Wie dem auch sei. Wenn Du nur die Haupttabelle hast und eine parent_id einführst, kannst Du einfach fragen:

SELECT beschreibung
FROM   aktion
WHERE  parent_id = 1

Gruß, Andreas

--
SELFFORUM - hier werden Sie geholfen,
auch in Fragen zu richtiges Deutsch