Ciao. Ho tre tabelle

clienti:
idcliente
nomecliente
idlocalita

localita:
idlocalita
localita
provincia

movimenti:
idmovimento
idcliente
data
tipomovimento
note

Ovviamente per un cliente posso avere più movimenti.
Partendo da una località vorrei sapere l'ultimo movimento di un cliente e quindi ho fatto così:

codice:
SELECT max(movimenti.data) as datamov, clienti.idcliente, movimenti.note  as notemov, clienti.cliente, clienti.stato, localita.localita AS  loccli, localita.provincia AS procli  FROM `clienti` INNER JOIN localita  ON clienti.idlocalita = localita.idlocalita INNER JOIN movimenti ON  clienti.idcliente = movimenti.idcliente where clienti.idlocalita='8'   group by clienti.cliente order by provincia, localita
Il risultato è corretto al 80%!

Se il cliente ha un solo movimento il risultato è corretto!
Se il cliente ha più movimenti mi trova si la data massima corretta, ma mi fa vedere la nota di un altro movimento, mentre invece io devo visualizare la nota relativa alla riga di max(movimenti.data) che calcola correttamente.

Help!