Ho letto il paragrafo 3.6.2 del MySQL manual: "The row holding the maximum of a certain column".
Ho semplicemente fatto la join come prima, ma ho aggiunto alla clausola la condizione
codice:
WHERE D.modifica_dati=(SELECT MAX(modifica_dati) WHERE id_automobile=A.id_automobile);
Devo testare la query per bene, ma sembra che così funzioni.