Hey, ich habe mit einem Baum in einer MySQL-Tabelle implementiert:Sorting geändert Vorordnungsdurchquerung mysql Baum
http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
Dies ist das Verfahren, in dem Sie eine Tabelle wie:
+-------------+----------------------+-----+-----+
| category_id | name | lft | rgt |
+-------------+----------------------+-----+-----+
| 1 | ELECTRONICS | 1 | 20 |
| 2 | TELEVISIONS | 2 | 9 |
| 3 | TUBE | 3 | 4 |
| 4 | LCD | 5 | 6 |
| 5 | PLASMA | 7 | 8 |
| 6 | PORTABLE ELECTRONICS | 10 | 19 |
| 7 | MP3 PLAYERS | 11 | 14 |
| 8 | FLASH | 12 | 13 |
| 9 | CD PLAYERS | 15 | 16 |
| 10 | 2 WAY RADIOS | 17 | 18 |
+-------------+----------------------+-----+-----+
Um den Tisch wie üblich auszudrucken, würden Sie nur nach der linken Spalte sortieren. Gibt es eine einfache Möglichkeit, es umgekehrt zu bestellen, oder eine andere Spalte wie "Kosten" zu haben, wo alle Einträge derselben "Tiefe" nach Kosten geordnet sind?
Dank
Vielen Dank! –
Im obigen Beispiel macht die übergeordnete Kategorie nested_category AS die gesamte Tabelle mit dem Namen "parent". Wenn ich nur einen Unterabschnitt der Tabelle haben wollte, würde ich einen dritten auswählen? Wie: (SELECT Name, links, rgt FROM Kommentare WHERE tree_id = 2) AS Eltern –
Was ist "Kommentare"? Ist es die gleiche Tabelle, die ich "Knoten" nannte? Wenn ja, fügen Sie 'AND parent.tree_id = 2' am WHERE hinzu. (Übrigens, warum der Dank ohne Aufregung noch Akzeptanz? Seltsam durch normale SO-Etikette! -). –