Eagle-PsyX-
Commander
- Registriert
- Juni 2006
- Beiträge
- 2.246
Habe seit kurzem erst festgestellt, dass ich bei einer meiner Nesteds-Sets-Abfrage unlogische Tiefen zurückbekomme:
Interessanterweise sind die Teifen nach unten hin in der Reihenfolge immer: 0,3,8,15,24,35,48,63..
Will ich aber den unteren Stamm ausgehend von der id 3 wissen, also mit der WHERE-Bedinung n.category_id =3 kreige ich logische Tiefen raus: 0,1,2,3,4,..
Es ist ein Logik-Fehler irgendwie...Hat jemand Abhilfe?
Meine Zwischenlösung ist, dass ich die Reihenfolge als Array abgelegt habe und eine Verschiebung stattfindet, damit ich erkennen kann wer ein direktes "Kind" ist.
Code:
SELECT o.*,
COUNT(p.category_id)-1 AS depth
FROM `blug_category` AS n,
`blug_category` AS p,
`blug_category` AS o
WHERE
o.category_left
BETWEEN p.category_left AND
p.category_right AND
o.category_left
BETWEEN n.category_left AND
n.category_right
GROUP BY
o.category_left
ORDER BY
o.category_left
Will ich aber den unteren Stamm ausgehend von der id 3 wissen, also mit der WHERE-Bedinung n.category_id =3 kreige ich logische Tiefen raus: 0,1,2,3,4,..
Es ist ein Logik-Fehler irgendwie...Hat jemand Abhilfe?
Meine Zwischenlösung ist, dass ich die Reihenfolge als Array abgelegt habe und eine Verschiebung stattfindet, damit ich erkennen kann wer ein direktes "Kind" ist.
Anhänge
Zuletzt bearbeitet: