izgleda da sam uspeo, pa za slucaj da nekome nekad zatreba...
1) dodao kolonu parent koja je ili id parenta, ako ga ima za taj model, ili "x" ako se radi o parentu ili prazna ako je model za sebe...
2)
Kôd:
SELECT
CASE WHEN
e.parent = 'x' THEN (SELECT GROUP_CONCAT(l.id) FROM modeli l JOIN modeli r ON l.parent = r.id WHERE l.make_id = 7 AND l.parent = e.id)
ELSE
e.id
END
AS id,
model
FROM modeli e
WHERE make_id = 7
ORDER BY
CASE WHEN
parent=0 THEN id
ELSE
parent
END,
parent='' DESC,
CASE WHEN
parent='' THEN 0
ELSE
CAST( model AS UNSIGNED)
END;
p.s. verovatno moze bolje, al radi i ovako...
p.s.2. make_id = 7 meni sluzilo za testiranje, naravno da tu ide sta vec treba...