Quello che ottieni con UNION è un unico recordset, quindi ORDER BY va inserito alla fine ed ha effetto su tutto.
Codice:
SELECT a, b, c
FROM tab1
UNION
SELECT a, b, c
FROM tab2
ORDER BY a
va bene, mentre non va bene
Codice:
SELECT a, b, c
FROM tab1
ORDER BY a
UNION
SELECT a, b, c
FROM tab2
ORDER BY a
Per usare una colonna quale campo di ordinamento, questa deve essere compresa nella SELECT
Per cui va bene
Codice:
SELECT a, b FROM tabella ORDER BY b
ma non va bene
Codice:
SELECT a FROM tabella ORDER BY b