2010-12-23 14 views
0

Ich muss eine Abfrage in Mysql erstellen, die die oberste Kategorie auflisten und eine Unterkategorie darin auflisten. Die Kategorien und Unterkategorien sind in der gleichen Tabelle. für zB.Mysql-Kategorien und Unterkategorien Auflistung

id_category | id_parent | name 

1 | 0 | category#1 
2 | 1 | subcategory#1 
3 | 1 | subcategory#2 
4 | 2 | subsubcategory#1 
5 | 0 | category#2 
5 | 5 | subcategory#3 

Antwort

5

Sie versuchen, ein allgemeines Problem zu lösen - wie speichern und rufen Sie hierarchische Daten in einer relationalen Datenbank ab?

Das erste, was Sie tun sollten, diesen Artikel zu mysql.com gelesen wird, „Managing Hierarchical Data in MySQL oder here.

Derzeit verwenden Sie das Modell "Adjazenzliste". Es hat einige Nachteile, vor allem die Tatsache, dass es im Grunde unmöglich ist, eine Abfrage zu schreiben, die Ihnen alle Bäume zurückgibt, die Sie speichern.

Sie sollten in Betracht ziehen, in das Modell "nested set" zu wechseln, das auf dieser Seite gut erklärt wird.

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

0

Check it Kategorie & Subkategorie

select m.id as cat_id ,m.name as category, e.name as sabcategory from category e inner join category m on e.parent_id=m.id order by m.id 
Verwandte Themen