Hallo,
mithilfe der CONTROL FLOW Sachen erzeugst du ein neues "temporäres" Feld, nach wessen Alias du dann sortieren kannst.
Die Funktionen GREATEST(arg,arg,arg,...) hilft dir dabei den jeweils grössten Werte von [Ende], [Start] und [Preis] zu bekommen. Beispiel (ohne Gewehr)
SELECT
Id,
GREATEST(Ende, Start, Preis) AS Datum,
CASE Datum
WHEN Ende THEN 'E'
WHEN Start THEN 'S'
WHEN Preis THEN 'P'
ELSE 'U' -- for UNKNOWN
END AS Op
FROM DeineTabelle
ORDER BY Datum
Grüsse, Frank