私は、PK(INT)列とDateTime列を持つ2つのテーブルを持つSQL Server 2008データベースを見ています。2つのテーブル間での(ダーティ)ペアのDateTimes
私はアプリケーションが対になってデータベースに挿入するヒューリスティックな傾向があることを除いて、テーブル間に明示的な関係はなく、DateTimesは正確には一致しないと思われますが、
私は、他のテーブルに最も近い一致DateTimeを見つけることによって、各テーブルのPKをバックアップすることを試みています。各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からはDATEADD(分-1、t2.datetimecolumn)とDATEADD(分、1、t2.datetimecolumn)間t1.datetimecolumnにT2に参加します;' –
@AaronBertrand迅速な対応をありがとう、申し訳ありませんが、私は十分に明確ではなかった。私はいくつかのサンプル入力と所望の出力で質問を明確にしました。 – Maarx