私はSQL Server 2016で作業していますが、そのクエリのビルド方法を理解できません。SQL Server:行間の日付を比較
のは、私はこのようなテーブルがあるとしましょう:私は、エントリの日時は、最後の選択した結果の日時の後にある行だけを選択したい
ID EntryTime ResultTime
1 2016-05-02 13:30:00 2016-05-02 21:50:00
2 2016-05-02 14:45:00 2016-05-02 22:00:00
3 2016-05-02 16:30:00 2016-05-02 22:21:00
4 2016-05-03 01:00:00 2016-05-03 03:33:00
5 2016-05-03 10:30:00 2016-05-04 07:47:00
6 2016-05-03 12:30:00 2016-05-03 22:45:00
7 2016-05-04 11:30:00 2016-05-05 21:30:00
8 2016-05-04 12:30:00 2016-05-04 22:58:00
9 2016-05-04 13:30:00 2016-05-04 23:04:00
10 2016-05-04 13:45:00 2016-05-04 22:59:00
11 2016-05-04 14:00:00 2016-05-04 22:59:00
12 2016-05-04 14:15:00 2016-05-04 23:04:00
13 2016-05-04 17:45:00 2016-05-04 21:47:00
14 2016-05-05 23:30:00 2016-05-06 03:25:00
15 2016-05-05 23:45:00 2016-05-06 03:30:00
16 2016-05-06 00:00:00 2016-05-06 03:32:00
17 2016-05-06 00:15:00 2016-05-06 03:31:00
18 2016-05-06 00:30:00 2016-05-06 03:25:00
19 2016-05-06 00:45:00 2016-05-06 02:50:00
20 2016-05-06 01:00:00 2016-05-06 03:25:00
。
たとえば、1行目の結果時間が「2016-05-02 21:50:00」なので、次の行は4行目になります。これは、入力時刻が結果時間後の最初の行であるためです。次の行が5行目になるように、次の行が4行目の結果時間(「2016-05-03 03:33:00」の後)になると仮定します。
要求された結果は次のとおりです。
ID EntryTime ResultTime
1 2016-05-02 13:30:00 2016-05-02 21:50:00
4 2016-05-03 01:00:00 2016-05-03 03:33:00
5 2016-05-03 10:30:00 2016-05-04 07:47:00
7 2016-05-04 11:30:00 2016-05-05 21:30:00
14 2016-05-05 23:30:00 2016-05-06 03:25:00
あなたの望む出力は不明です。もっと手の込んだことができます... – Teja
私はあなたが唯一の結果を知っていると思います –
面白いです...間違いなく、WHILEループで実行できますが、確かに... – Anton