Ciao!
Ho un semplice problema che mi sta letteralmente facendo impazzire..vi spiego:
- ho un database piuttosto corposo contenente vari campi tipo "Nome", "Cognome",ecc. tra cui quelli che mi interessano che sono "Città" e "Provincia"
- ora devo fare una query con inserimento da parte dell'utente del nome della provincia in modo da restituirmi tutti i records di quella provincia ma con un ordinamento particolare:
- se inserisco "Milano" dovrebbe prima elencarmi tutti i records con "Città=Milano" e "Provincia=Milano" e poi tutti quelli delle province in ordine alfabetico cioè prima tutti i campi con "Città=Cinisello Balsamo" e poi quelli con "Paderno Dugnano" o "Sesto S.Giovanni" ad esempio.
- In un certo senso funziona come le pagine bianche con prima il capoluogo e di seguito tutte le città di provincia ordinate alfabeticamente...
- ho fatto un po' di prove ma non riesco a mettere prima tutti i "Milano" e poi le province...
- tutto quello che ho prodotto è:
SELECT nome, cognome, città, provincia, cap
FROM random
WHERE provincia=[insert_nome_provincia] and città<>[insert_nome_provincia]
GROUP BY città, provincia, cap, nome, cognome
ORDER BY cap DESC
UNION SELECT nome, cognome, città, provincia, cap
FROM random
WHERE provincia=[insert_nome_provincia] and città=[insert_nome_provincia]
GROUP BY città, provincia, cap, nome, cognome
ORDER BY città, cap DESC;
Il problema è che questo non fa prima la SELECT che mi restituisce "Milano" e poi quella successiva concatendandole una dopo l'altra ma fa proprio un'unione finale delle 2 SELECT ordinando i campi in modo sbagliato inserendomi i campi con "Città=Milano" all'interno e non all'inizio...
Lo so che non è un problemone ma non ho trovato alcuna soluzione intelligente al momento, se qualcuno più esperto di me può darmi qualche suggerimento lo ringrazio infinitamente!
Grazie a tutti!
Ciao!
Sandro