Salve a tutti, ho una query che pensavo banale, ma evidentemente mi sbagliavo.
Ho 2 tabelle:

id_contatto | nome | cognome
1 | Mario | Rossi
2 | Paolo | Rossi
3 | Luca | Bianchi

e l'altra che riguarda gli indirizzi

id | id_contatto | indirizzo | _PREF | _POS
1 | 1 | via numero 1 | 1 | 0
2 | 1 | via numero 2 | 0 | 1
3 | 1 | via numero 3 | 0 | 2
4 | 2 | via prova 1 | 0 | 2
5 | 2 | via prova 2 | 0 | 1
6 | 3 | via prova 3 | 0 | 0
7 | 2 | via ultima 1 | 1 | 0

Mi servirebbe una query che mi desse questo risultato

id_contatto | nome | cognome | indirizzo
1 | Mario | Rossi | via numero 1
2 | Paolo | Rossi | via prova 3
3 | Luca | Bianchi | via ultima 1

Il criterio sarebbe unire le persone all'indirizzo preferito se esiste (_PREF=1) oppure alla posizione minore (_POS più piccolo)
Avete idea di come si faccia? Facendo una LEFT JOIN con GROUP BY non riesco ad ordinare per _PREF o _POS prende lui ciò che vuole. Uso MySql
Grazie
Rino