Mehrere Nested sets in einer SQL Tabelle

kcyberbob

Erfahrenes Mitglied
Hallo zusammen,

ich hab eine mysql Tabelle mit folgendem Aufbau:
ID (auto increment)
menu (art des menüs)
name
link
left
right

Mit folgendem SQL hole ich mir den ganzen Baum, doch wenn ich jetzt zwei Menü´s (Bäume) in der tabelle speichere dann passt das SQL ja nicht mehr, denn irgendwie muss ja in die WHERE Bedingung rein, das er nur Einträge behandelt die unter menü zum beispiel 'footer' oder 'main' drin stehen hat.

Vielleicht könnt ihr mir da weiter helfen wo und wie ich die Abfrage genau erweitern muss.

Code:
SELECT
n.id, n.menu, n.name, n.link, COUNT(*)-1 AS level
FROM
`menu-main` AS n,
`menu-main` AS p
WHERE
n.left BETWEEN p.left AND p.right
GROUP BY n.left
ORDER BY n.left
 
Hi!
1. @admin move to Relationale-Datenbanksysteme
2. Ich kann mir dein Problem noch nicht so richtig vorstellen. Kannst du ein Datenbeispiel geben was in deiner Tabelle ist?
 
Hab´s gelöst :)


Code:
SELECT
n.id, n.menu, n.name, n.link, COUNT(*)-1 AS level
FROM
`menu-main` AS n,
`menu-main` AS p
WHERE
n.menu ='main'
AND
p.menu ='main'
AND
n.left BETWEEN p.left AND p.right
GROUP BY n.left
ORDER BY n.left
 
Zurück