Hola Pentaxeros:
Esta tipo de consultas es una de las que más preguntan los usuarios en el foro y en general una de las más usuales en la red... cada vez que contesto me soprende el hecho de que habiendo contestado tantas veces no hayan encontrado ninguna ayuda que les haya permitido sacar la consulta por tu cuenta...
Hay muchas formas de hacerlo, pero la más común es utilizando una subconsulta... suponiendo que tu campo fecha, sea efectivamente de tipo DATE, podrías obtener la última fecha para cada usuario asi:
Código MySQL:
Ver original+-----------+------------+
| idcliente | max_fecha |
+-----------+------------+
| 1 | 2012-10-16 |
| 2 | 2012-10-15 |
| 3 | 2012-10-14 |
+-----------+------------+
Ahora, utilizas esto como un filtro para tus registros... es decir, si tu haces algo como esto:
Código MySQL:
Ver originalmysql
> SELECT TA.
*, TB.id
, TB.estado
-> INNER JOIN tablaB TB
ON TA.idcliente
= TB.idcliente
; +-----------+--------+-----------+------+--------+
| idcliente | nombre | ciudad | id | estado |
+-----------+--------+-----------+------+--------+
| 1 | Manolo | Madrid | 1 | A |
| 1 | Manolo | Madrid | 2 | B |
| 1 | Manolo | Madrid | 3 | C |
| 2 | Paco | Barcelona | 4 | B |
| 2 | Paco | Barcelona | 5 | C |
| 3 | Lucia | Santander | 6 | B |
+-----------+--------+-----------+------+--------+
Obtienes todos los registros... lo único que tienes que hacer es AGREGAR UN INNER JOIN adicional con la subconsulta de ayer y preguntar por los registros que cumpla con que la fecha de tu tablaB sea igual a la MAX_FECHA de la subconsulta.
Como dije, ejemplos hay muchísimos en la red y en este mismo foro:
http://www.forosdelweb.com/f86/sacar...nadas-1043881/ http://www.forosdelweb.com/f86/sql-p...istros-982062/ http://www.forosdelweb.com/f86/duda-...erchas-925080/
Dale un vistazo y te sugiero que en el futuro utilices la herramienta de búsqueda del foro para ver si ya se posteo algo semejante a lo que necesitas.
Saludos
Leo.