Select t1.id, CONCAT((SELECT REPEAT(' ', (COUNT(t2.parentid)))
FROM tbl t2
WHERE t2.parentid=t1.id), t1.linkname)
from tbl t1
Order by t1.parentid, t1.sortorder
Ja, visst men då sorterar den ju på alla med 1 först osv.
Den skall sortera efter parentid,sortorder
Men inte det heller för då kommer alla med parentid 0 först...
Det är ju Tbl rätt upp och ner: SELECT * FROM Tbl;
Om det nu är så att Tbl inte finns i databasen utan du vill ta fram den via en SQL-fråga så måste du tala om för oss hur de tabeller du vill använda för att bygga den ser ut. Dvs hur ser den tbl som du kallar t1 i din ursprungliga fråga ut?
Om det nu är så att Tbl inte finns i databasen utan du vill ta fram den via en SQL-fråga så måste du tala om för oss hur de tabeller du vill använda för att bygga den ser ut. Dvs hur ser den tbl som du kallar t1 i din ursprungliga fråga ut?
Är det inte så att tabell strukturen ser ut som exemplet, men datan ligger instoppad huller om buller, så posten "Bilar" har inte id:1 i databasen men kanske 8 och sedan så har "moppar" id:9 medans Fiat har id:10 osv osv..
de id:en som man ser i exemplet är på hittade värden, men fälten finns i tabellen.
Det enklaste sättet är att lägga ihop sortorder för din parent och dess barn, så det blir så här.