Consulta sql

Tengo una tabla de la siguiente forma: Id(numérico), fecha, nombre (string) con, p.e. Los siguientes datos:
1, 10/01/2002, angel
2, 11/01/2002, maría
1, 21/01/2002, luis
3,9/01/2002, mario
1, 31/01/2002, antonio
3,19/01/2002, elena
Lo que necesito es una consulta que me devuelva para cada id la última fecha introducida y el nombre correspondiente, o sea con el ejemplo me quedase lo siguiente:
1, 31/01/2002, antonio
2, 11/01/2002, maría
3,19/01/2002, elena
Respuesta
1
Me imagino que en ut tabla, la porque (clave primaria) es la formada por id+fecha, con lo cual yo lo que haría sería crear una vista que te devolviera la máxima fecha para cada id.. así:
CREATE VIEW vidFecha AS
SELECT ID,MAX(FECHA) vfecha
FROM tabla
GROUP BY ID;
Teniendo esta vista, que te da dos campos, ahora haríamos un join entre la vista y tu tabla original así.
SELECT V.ID,V.FECHA,T.NOMBRE
FROM VIDFECHA V, TABLA T
WHERE V.ID=T.ID
AND F.VFECHA=T.FECHA;
Suerte.
AN

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas