Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2013, 13:50
Avatar de Pentaxeros
Pentaxeros
 
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 16 años
Puntos: 3
Coger el ultimo valor en gruop by

Hola, tengo una consulta que no consigo resolver.

Tengo 2 tablas:

TABLA A
idcliente
nombre
ciudad

TABLA B
id
idcliente
fecha
estado

Los datos serian por ejemplo:
TABLA_A
idcliente nombre ciudad
1 - Manolo - Madrid
2 - Paco - Barcelona
3 - Lucia - Santander
....

TABLA_B
id - idcliente - fecha - estado
1 - 1 - 10/10/12 - A
2 - 1 - 12/10/12 - B
3 - 1 - 16/10/12 - C
4 - 2 - 12/10/12 - B
5 - 2 - 15/10/12 - C
6 - 3 - 14/10/12 - B

Quiero seleccionar de la tabla A todos los campos, y unirlos a la tabla B, pero quiero el ultimo estado, que seria el de id mas alto.

El resultado que querria seria esto:
idcliente-nombre-ciudad-id-estado
1 - Manolo - Madrid - 3 - C
2 - Paco - Barcelona - 5 - C
3 - Lucia - Santander - 6 - B

Si hago esto:
SELECT
idcliente,nombre,ciudad,id,estado
FROM TABLA_A
LEFT JOIN TABLA_B ON TABLA_A.idcliente = TABLA_B.idcliente
GROUP BY idcliente

Me sale este resultado:
idcliente-nombre-ciudad-id-estado
1 - Manolo - Madrid - 3 - A
2 - Paco - Barcelona - 5 - B
3 - Lucia - Santander - 6 - B

Pero yo quiero el ultimo estado. He probado a añadir:
ORDER BY idcliente asc, id desc

pero no hace nada...

Alguna idea???

Gracias!