Finns inget riktigt bra sätt att göra det på i MySQL, om man inte är beredd att ändra datamodellen. Se http://dev.mysql.com/tech-resources/articles/hierarchical-data.html för en diskussion om alternativ.
Hejsan!
Jag behöver lite assistans. Vill hämta ut alla mina kategorier, listade efter underkategoerier, t ex:
Kategori 1
Kategori 1.1
Kategori 1.2
Kategori 1.2.1
Kategori 1.2.2
Kategori 2
Kategori 2.1
Kategori 2.2
Kategori 2.3
osv, i en enda lång lista. Mina kategorier finns i en tabell som heter categoriers, med följande fält:
categoryID, name samt parentID, där parentID representerar id:t på den överordnade kategorin (den närmsta, dvs. en egenrelation).
Hur formulerar man en sådan fråga? Går ju inte att skriva t ex "SELECT * from categories where parentID = 0", eftersom den då bara skulle hämta de som inte har några föräldrar, vilket inte riktigt gör det jag vill eftersom jag även vill hämta de som har både föräldrar och barn, och i slutändan även barnen i sig.
Jag använder PHP och MySQL. Jag misstänker att krävs någon form av nästling för få till detta, men jag har svårt att se och formulera frågan.
Skulle tacksamt mottaga hjälp av någon som är ett strå vassare än jag på SQL.
