Allgemeine Lösung:
klick
Eingeschränkte Lösung (nur eine Unterebene):
SQL-Code:
SELECT CASE WHEN subid = 0
THEN id
ELSE subid
END AS sortID, *
FROM tabelle
ORDER BY sortID, id
oder noch kürzer, wenn anstelle von der Zahl 0 in der subid-Spalte der Wert NULL stehen würde...
SQL-Code:
SELECT COALESCE(subid, id) AS sortID, *
FROM tabelle
ORDER BY sortID, id
und noch kürzer...
SQL-Code:
SELECT *
FROM tabelle
ORDER BY COALESCE(subid, id), id