Valószínűleg azért nem működik, mert hiába rendezed be a listát, az UNION miatt a végén mégsem lesz az a sorrend, ugyanis az UNION „elrontja”.
Én inkább valami ilyesmivel próbálkoztam volna, ha nincs túl sok oszlop a táblában:
Code:
SELECT
CASE 1 WHEN id = 7 THEN 0 ELSE 1 END AS rendezo, caption
mezo1, mezo2, mezo3, mezo4 FROM ‘media’ ORDER BY rendezo, caption ASC
A mezo1, mezo2… stb.-ket csak mintaként írtam, persze be kell helyettesítened a saját táblád mezőit ezek helyére.
Nem próbáltam ki, de szerintem működne.
A MySQL kézikönyv viszont ezt írja (és milyen okosan
):
Code:
(SELECT 1 AS sort_col, col1a, col1b, … FROM t1)
UNION
(SELECT 2, col2a, col2b, … FROM t2) ORDER BY sort_col, col1a;
legutóbbi hsz