SQL Server - DISCRIMINAR REGISTROS REPETIDOS

 
Vista:
sin imagen de perfil

DISCRIMINAR REGISTROS REPETIDOS

Publicado por ANTONIO (15 intervenciones) el 31/07/2008 09:21:47
Hola amigos no se si es dictinct lo que hay que usar pero os explico mi problema:
Imaginaros una tabla con tres campos : DNI, NOMBRE, FECHA

Os coloco tres registros de ejemplo:

74123456, ANTONIO, 19-07-2008
22123555, ROSA, 12-08-2008
74123456, antonio, 21-10-2008

Como os habeis dado cuenta el dni del primer y tercer registro son iguales, aunque la fecha no lo es.
Mi pregunta es ¿como hago una consulta sql para que me devuelva los registros con dni no repetidos, es decir si hay dos o tres dnis repetidos que me devuelva uno y a ser posible el registro con el dni repetido que tenga la fecha mas reciente?. Es decir la consulta deberia de devolverme:

22123555, ROSA, 12-08-2008
74123456, antonio, 21-10-2008

Gracias amigos espero haberme explicado bien, la verdad esque estoy desquiciado con este asunto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DISCRIMINAR REGISTROS REPETIDOS

Publicado por pacopaz (131 intervenciones) el 31/07/2008 17:27:27
Prueba con esto:

select
dni,
nombre,
max(fecha)
from
Tabla
where
...
group by
dni,
nombre

Esto agrupará los resultados por dni y nombre y te devolverá la fecha máxima que encuentre, es decir, la más reciente.
Funcionará si y solo si el campo fecha es tipo datetime.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar