SQL geschachtelte Reihenfolge durch?

Ich bin mir sicher, dass dies wurde gebeten vor, aber ich weiß nicht, wie es genau um die Antwort zu finden.

Ich habe eine Tabelle mit Kategorien und sub-Kategorien. Sie haben jeweils eine id und eine parent-id. Wenn es eine Kategorie der obersten Ebene, die parent-id 0 ist. Sub-Kategorien, die parent-id auf die
Kategorie-id der Eltern.

category_id          # The ID for this record
category_name        # The name of the category
parent_id            # The parent ID for this category
display_order        # Order of categories within their grouping

1 A  0 0     # First primary category
2 a1 1 0     # Subcategory, parent is A, display_order is 0
3 a2 1 1
4 a3 1 2

5 B  0 1     # Second primary category
6 b1 5 0     # Subcategory, parent is B, display_order is 0
7 b2 5 1
8 b3 5 2

Bin ich zu schreiben versucht, eine SQL-Abfrage, die mir alle Kategorien in dieser Reihenfolge:

A, a1, a2, a3, B, b1, b2, b3

SELECT * FROM categories ORDER BY display_order 

Ist dies möglich, in SQL, oder muss ich mehrere Abfragen

Dank,
Brad

  • können Sie uns ein Beispiel geben von input-Daten? nicht nur für die Ausgabe...
  • können die sub-Kategorien haben Unterkategorien, die wiederum?
  • Zugegeben ein Beispiel, wie die Daten der Tabelle aussieht
  • ist es wichtig, stets die display_order der wichtigsten Kategorien?
InformationsquelleAutor Brad Proctor | 2012-01-14
Schreibe einen Kommentar