Ho una query mysql cosi fatta:

"(SELECT codicegio, voto FROM presenta NATURAL JOIN squadratit NATURAL JOIN partecipa NATURAL JOIN giocatore WHERE codice = 0001 AND numero = 5 AND ruolo = 0) UNION (SELECT codicegio, voto FROM presenta NATURAL JOIN panchina NATURAL JOIN partecipa NATURAL JOIN giocatore WHERE codice = 0001 AND numero = 5 AND ruolo = 0 ORDER BY pref ASC )"

Il mio problema è questo:
il campo pref della tabella panchina contiene interi (1 2 3 4 ....) e quindi volevo ordinare la seconda query (quella dopo l'UNION) in base a questo campo. Se provo la query da sola il tutto funziona ma se la unisco con UNION all'altra non me li ordina più (e come se ORDER BY pref ASC non esistesse).
Come mai?