Durante el uso de TOP o una sub-consulta tanto en el trabajo, me gustaría romper el problema en pasos:
registro Buscar destino
SELECT MIN(date) AS date, id
FROM myTable
WHERE id = 2
GROUP BY id
de Ingreso para obtener otros campos
SELECT mt.id, mt.name, mt.score, mt.date
FROM myTable mt
INNER JOIN
(
SELECT MIN(date) AS date, id
FROM myTable
WHERE id = 2
GROUP BY id
) x ON x.date = mt.date AND x.id = mt.id
Si bien esta solución, utilizando tablas derivadas, es más largo, que es:
- fácil poner a prueba
- autodocumentado
- extensible
Es fácil poner a prueba como parte de la la consulta se puede ejecutar de forma independiente.
Se auto documenta porque la consulta refleja directamente el requisito es decir, la tabla derivada muestra la fila donde id = 2 con la fecha más temprana.
Es extensible como si se necesitara otra condición, esto se puede agregar fácilmente a la tabla derivada.
si también quiero obtener el nombre para este registro – leora