Ich habe zwei Abfragen die ich zu einer verschmelzen möchte, aber alle Versuche waren NIX:
In einer Tabelle habe ich die Spalte titel und kategorie
SELECT titel FROM daten WHERE kategorie = ??????
in der zweiten habe ich meine ganzen Kategorien, die ich mit Nested Set abgespeichert habe, das ich hier im Forum schon ein paar mal gefunden habe...
SELECT o.name,
COUNT(p.id)-1 AS level
FROM tree AS n,
tree AS p,
tree AS o
WHERE o.lft BETWEEN p.lft AND p.rgt
AND o.lft BETWEEN n.lft AND n.rgt
AND n.id = 10
GROUP BY o.lft
ORDER BY o.lft;
und nun möchte ich die beiden SELECT Abfragen zu einer zusammen bekommen:
damit ich alle Ergebnisse aus meiner daten Tabelle ausgeben kann mit den passenden Kategorien.
Diese werden unter COUNT(p.id)-1 AS
level ausgegeben (1), so denke ich eigentlich das ich das mit HAVING
(3) lösen kann, doch ich bekomme nur die Fehlermeldung Unknown column 'a.cat' in 'having clause'
SELECT o.name,
COUNT(p.id)-1 AS level,
a.titel <----------------------------------------------1
FROM
tree AS n,
tree AS p,
tree AS o,
daten AS a <----------------------------------------------2
WHERE o.lft BETWEEN p.lft AND p.rgt
AND o.lft BETWEEN n.lft AND n.rgt
AND n.id = 6
GROUP BY o.lft
HAVING level = a.kategorie <----------------------------------------------3
ORDER BY o.lft
Irgendwie habe ich mir das leichter vorgestellt mit der Struktur, da bekommt man ja einen Knoten in den Kopf...
Daniel