Hallo,
ich ermittle mit folgender Abfrage die Tiefe eines NestedSets baumes.
Das funktioniert wunderbar. Jedoch gibt es mehrere Menubereiche (menu_area)
Dies möchte ich nun berücksichtigen:
meine Abfrage sieht so aus, gibt aber nichts aus. Was mach ich falsch?
ich ermittle mit folgender Abfrage die Tiefe eines NestedSets baumes.
Das funktioniert wunderbar. Jedoch gibt es mehrere Menubereiche (menu_area)
Dies möchte ich nun berücksichtigen:
meine Abfrage sieht so aus, gibt aber nichts aus. Was mach ich falsch?
PHP-Code:
$sql = "SELECT n." . $this->pk . "
FROM " . $this->table . " as n
JOIN " . $this->table . " as p
LEFT JOIN " . $this->table . " as q
ON q.lft < n.lft
AND q.rgt > n.rgt
AND q.lft > p.lft
AND q.rgt < q.rgt
WHERE (p." . $this->pk . " = " . $id . "
AND n.lft > p.lft
AND n.rgt < p.rgt) AND
n.menu_area = '$menu_area_id' AND
n.language = '".$_SESSION['language_id']."' AND
n.site = '".$_SESSION['site_id']."' AND
p.menu_area = '$menu_area_id' AND
p.language = '".$_SESSION['language_id']."' AND
p.site = '".$_SESSION['site_id']."' AND
q.menu_area = '$menu_area_id' AND
q.language = '".$_SESSION['language_id']."' AND
q.site = '".$_SESSION['site_id']."'
GROUP BY n.lft
ORDER BY
n.lft;";
Kommentar