Supponendo di avere una tabella composta da due campi di testo [nome] e [cognome], io vorrei ottenere (con una sola query) prima tutti i record che hanno [cognome] <> '' (ordinati per nome) e poi tutti i campi che hanno [cognome] = '' (sempre ordinati per nome). Ho tentato con questa query:
SELECT * FROM ((SELECT * FROM tabella WHERE cognome <> '' ORDER BY nome) UNION (SELECT * FROM tabella WHERE cognome = '' ORDER BY nome))
ma il risultato è l'insieme di tutti i record ordinato per nome, indipendentemente dal fatto che cognome sia = o <> da ''...
come devo fare la query?