MySQL Forums
Forum List  »  German

Felder Updaten
Posted by: Thilo Habenreich
Date: July 21, 2009 08:28AM

Hi ich habe folgende Tabelle:

------------------------------------------------------------------
| tree_id(INT) | root_id(INT) | lft(INT) | rgt(INT) | depth(INT) |
------------------------------------------------------------------

In dieser Tabelle strehen nun diverse Werte. Ich bild emit dieser Tabelle Baumstrukturen nach der Idee des NestedSet ab.

AUßerdem habe ich folgendes SQL Statement, welches mir die Tiefe/Level der jeweiligen Elemente ausliest:

SELECT tree_id, COUNT(*) AS level
FROM struc AS n1,
struc AS n2
WHERE n1.root_id = 1
AND n2.root_id = 1
AND n1.lft BETWEEN n2.lft AND n2.rgt
GROUP BY n1.lft

Nun würde ich gerne diese Abfrage so abändern, das mir automatisch die Tiefen/Level in die Spalte 'depth' eingetragen werden. Wenn nämlich Elemente im Baum hinzukommen oder gelöscht werdem, kann sich ja ggf. die Tiefe einzelner Elemente verändern. Wenn ich dann eine solche Abfrage habe kann ich das ganze ja in einen Trigger oder eine PROCEDURE packen. Danke schon mal für die ANtworten.

Theoretisch ließe scih die ABfrage auch so gestalten:

SELECT COUNT(*) AS level
FROM cms_sitestructure AS n1, cms_sitestructure AS n2
WHERE n11.lft BETWEEN n2.lft AND n2.rgt GROUP BY n1.lft

Was mich aber immernoch nicht weiterbringt das Ganze automtisch Updaten zu lassen.



Edited 1 time(s). Last edit at 07/21/2009 08:45AM by Thilo Habenreich.

Options: ReplyQuote


Subject
Views
Written By
Posted
Felder Updaten
2471
July 21, 2009 08:28AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.