Я смотрю базу данных SQL Server 2008 с двумя таблицами, каждая с столбцом PK (INT) и столбцом DateTime.Как (Dirty) Пара DateTimes по двум таблицам
Нет явной связи между таблицами, за исключением того, что я знаю, что приложение имеет эвристическую тенденцию вставлять в базу данных парами, по одной строке в каждой таблице, с DateTimes, которые, похоже, никогда не соответствуют точно, но обычно довольно близки.
Я пытаюсь сопоставить резервные копии ПК в каждой таблице, найдя ближайшую совпадающую дату DateTime в другой таблице. Каждый PK может использоваться только один раз для этого соответствия.
Каков наилучший способ для этого?
EDIT: Извините, пожалуйста, найдите внизу пример ввода и желаемого вывода.
+-------+-------------------------+
| t1.PK | t1.DateTime |
+-------+-------------------------+
| 1 | 2016-08-11 00:11:03.000 |
| 2 | 2016-08-11 00:11:08.000 |
| 3 | 2016-08-11 11:03:00.000 |
| 4 | 2016-08-11 11:08:00.000 |
+-------+-------------------------+
+-------+-------------------------+
| t2.PK | t2.DateTime |
+-------+-------------------------+
| 1 | 2016-08-11 11:02:00.000 |
| 2 | 2016-08-11 00:11:02.000 |
| 3 | 2016-08-11 22:00:00.000 |
| 4 | 2016-08-11 11:07:00.000 |
| 5 | 2016-08-11 00:11:07.000 |
+-------+-------------------------+
+-------+-------+-------------------------+-------------------------+
| t1.PK | t2.PK | t1.DateTime | t2.DateTime |
+-------+-------+-------------------------+-------------------------+
| 1 | 2 | 2016-08-11 00:11:03.000 | 2016-08-11 00:11:02.000 |
| 2 | 5 | 2016-08-11 00:11:08.000 | 2016-08-11 00:11:07.000 |
| 3 | 1 | 2016-08-11 11:03:00.000 | 2016-08-11 11:02:00.000 |
| 4 | 4 | 2016-08-11 11:08:00.000 | 2016-08-11 11:07:00.000 |
+-------+-------+-------------------------+-------------------------+
'из t1 t2 присоединиться на t1.datetimecolumn между DateAdd (минута, -1, t2.datetimecolumn) и DATEADD (минута, 1, t2.datetimecolumn);' –
@AaronBertrand Спасибо за быстрый ответ, но извините, что я не был достаточно ясен. Я уточнил вопрос с помощью некоторого ввода образца и желаемого вывода. – Maarx