Ergebniss aus Nested Abfrage weiterverwenden
Berni
- php
2 Micha
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
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