Berni: Ergebniss aus Nested Abfrage weiterverwenden

Es geht um das Auslesen aus zwei Tabellen.
In der ersten Tabelle sind die Kategorien hinterlegt (Nested)

Tabelle 1

id ! name ! lft ! rgt

in der anderen die einzelnen Beiträge zu der Kategorientabelle.

Tabelle 2

id ! titel

--------------------------------

Mit meiner ersten Abfrage werden alle Sub-Kategorien ermittelt die , wie in meinem Beispiel in der Kategorie 25 sind

SELECT o.id
FROM kategorien AS n,
kategorien AS p,
kategorien AS o
WHERE o.lft BETWEEN p.lft AND p.rgt
AND o.lft BETWEEN n.lft AND n.rgt
AND n.id = 25
GROUP BY o.lft
ORDER BY o.lft;

Dann bekomme ich zb.  folgende Ausgabe:

ID
-----
34
36
37
39

jetzt möchte ich aus meiner zweiten Tabelle alle Artikel auslesen die aus meiner ersten Tabelle in ID ausgegeben werden.

Ich hoffe ich habe es einigermassen gut veranschaulicht, es wäre toll wenn mir jemand weiter helfen könnte.

Berni

  1. Hallo Berni,

    wenn ichs richtig verstanden habe, musst Du es nun nur kombinieren - etwa:

    SELECT * FROM "tabelle" WHERE "id" IN (  
        SELECT o.id  
        FROM kategorien AS n,  
        kategorien AS p,  
        kategorien AS o  
        WHERE o.lft BETWEEN p.lft AND p.rgt  
        AND o.lft BETWEEN n.lft AND n.rgt  
        AND n.id = 25  
        GROUP BY o.lft  
        ORDER BY o.lft;  
    )
    

    Mit freundlichem Gruß
    Micha