jo: Nested Sets - Ebene auslesen (SQL)

Beitrag lesen

Hi.

Aber ich verstehe überhaupt nicht warum die Anzahl der Oberhalb liegenden?

Datenbank sieht so aus:
id name lft rgt

  • Oberkategorien (1,18)
      - Kommunikation (2,11)
        - Kommunikationstheorien (3,8)
          - Paul W. (4,5)
          - Schulz von Thun (6,7)
        - Kommunikationswissenschaften (9,10)
      - Sport (12,13)
      - Esoterik (14,15)
      - Lifestyle (16,17)

So. Ich möchte folgendes auslesen: Kommunikation, Sport, Esoterik, Lifestyle.
Es sind die Unterkategorien erster Ebene unter "Oberkategorien".
Ich möchte _nicht_ auslesen was _in_ diesen Kategorien ist (z.B. Kommunikationstheorien.

Zuerst lese ich mit einem Select die LFT und RGT Werte von "Oberkategorien" aus. Also $lft=1 und $rgt=18.

Mein erster Versuch war:

SELECT categoryname,categoryid  
FROM board_category  
WHERE lft > $LFT AND rgt = lft + 1 AND rgt < $RGT

Da kommt aber auch der Rest mit.

Vielleicht haben wir ja ein Verständnis-Problem meiner seits was Ober/Unterhalb bedeutet.

Oberkategorien ist für mich oberhalb von Kommunikation. P. Watzlawik ist für mich unterhalb von Kommunikation.

Wenn ich also jetzt Kommunikation, Sport etc. auslesen möchte - da sagt irh mir ich soll die Knoten oberhalb zählen? Da ist aber doch nur noch "Oberkategorien".

"Finde die Anzahl aller Knoten, die ueber dem gefragten Knoten liegen."

0

Unterhalb: 8
4 davon in erster Ebene - und nur diese will ich auslesen.

Ich bin einfach schwer verwirrt. Ich bekomms nicht hin.

Gruß, jo