partir de los datos por debajo de lo que necesito para seleccionar el registro más próximo a una fecha especificada para cada ID vinculado mediante SQL Server 2005:T-SQL - Selección por fecha cercana y agrupados por ID
ID Date Linked ID ........................... 1 2010-09-02 25 2 2010-09-01 25 3 2010-09-08 39 4 2010-09-09 39 5 2010-09-10 39 6 2010-09-10 34 7 2010-09-29 34 8 2010-10-01 37 9 2010-10-02 36 10 2010-10-03 36
Por lo tanto la selección de ellos usando 01/10/2010 debe devolver:
1 2010-09-02 25 5 2010-09-10 39 7 2010-09-29 34 8 2010-10-01 37 9 2010-10-02 36
sé que esto debe ser posi ble, pero parece que no puedo entenderlo (debe ser demasiado cerca del final del día: P) ¡Si alguien puede ayudar o darme un empujón suave en la dirección correcta, sería muy apreciado!
EDIT: También he encontrado este SQL para obtener la fecha más cercana:
abs(DATEDIFF(minute, Date_Column, '2010/10/01'))
, pero no pudo encontrar la manera de incorporar en la consulta correctamente ...
Gracias
Añadir ... agregó en la edición después de mi comentario. Ok, te escribiré la consulta completa. – Hogan
Su título es engañoso, probablemente sea "seleccione el orden de ID en la fecha más cercana" – dvhh
su ejemplo usando minutos ya que el primer parámetro para dateiff probablemente no funcione (ya que no tiene tiempo en sus fechas de ejemplo). Desea usar día - que puede ser abbr. como 'day',' dd', o 'd'. Curiosamente, toda la respuesta utiliza un abbr diferente. – Hogan