Estoy escribiendo una consulta, y he usado la solución en this thread y ha funcionado algo pero todavía estoy teniendo un problema.SQL - Seleccione el registro más reciente cuando hay un duplicado
Quiero seleccionar un grupo de registros que son en su mayor parte únicos, pero hay algunos que se producen dos veces. Quiero poder seleccionar solo el registro que tenga la fecha más reciente. Esta es mi consulta hasta el momento:
SELECT tb1.id,tb1.type,tb1.date
FROM Table tb1
WHERE tb1.type = 'A' OR 'B'
AND tb1.date = (SELECT TOP 1 tb2.date
FROM Table tb2
WHERE tb2.date = tb1.date
ORDER BY tb2.date DESC)
Esto funciona en lo que recupera el último disco de esos discos que tienen duplicados, pero aquellos registros que no tienen duplicados no aparecen en absoluto.
Gracias por cualquier ayuda, y mis disculpas si me he perdido algo súper obvio; Soy nuevo en el juego de SQL.
¿Puede proporcionar datos de muestra de filas únicas que no se devuelven contra duplicados donde están las filas correctas? – kaj
Tenga en cuenta que parece unirse a la fecha y no por otra cosa, por ejemplo, id. Es eso intencional? – kaj
puede ser más específico? Usted dijo: "Quiero poder seleccionar solo el registro que tiene la fecha más reciente" y la última "pero los registros que NO tienen duplicados no aparecen en absoluto" ... me parecen dos cosas diferentes. – Diego