Se scrivo
$query = 'SELECT * FROM tabella1
UNION
SELECT * FROM tabella2
ORDER by campo1 DESC';
mi ordina per campo1 DESC tutti i record insieme di entrambe le tabelle.
Ma se io volessi ordinare la tabella1 e poi unire la tabella2 ordinata in se solamente, la logica mi porta a scivere
$query = '(SELECT * FROM tabella1
ORDER by campo1 DESC)
UNION
(SELECT * FROM tabella2
ORDER by campo1 DESC)';
Il risultato è che mi unisce le tabelle ma non me le ordina in se stesse.
Cosa sbaglio!???