Из данных ниже нужно выбрать запись ближайших к указанной дате для каждого Linked ID с помощью 2005 SQL Server:T-SQL - ВЫБРАТЬ на ближайшую дату и сгруппированных BY 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
Поэтому, выбирая их с помощью 01.10.2010 должен вернуться:
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
Я знаю, что это должно быть possi но не может показаться, что я обволакиваю его (должно быть, слишком близко к концу дня: P) Если кто-то может помочь или дать мне нежный толчок в правильном направлении, это было бы признательно!
EDIT: Также я пришел через эту SQL, чтобы получить наиболее близкую дату:
abs(DATEDIFF(minute, Date_Column, '2010/10/01'))
, но не мог понять, как включить в запрос должным образом ...
Благодаря
Добавить ... Вы добавили в редактировании после моего комментария. Хорошо, я напишу вам полный запрос. – Hogan
Ваш заголовок вводит в заблуждение, вероятно, «выберите ID-заказ на ближайшую дату» – dvhh
ваш пример, используя минус, поскольку первый параметр для датиффа, вероятно, не будет работать (поскольку у вас нет времени в датах вашего примера.) Вы хотите использовать день - который может быть абб. как 'day',' dd' или 'd'. Интересно, что весь ответ использует другой абб. – Hogan