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!???