に日時で最後の行を取得します。私は、SQLのテーブルの下にあります。は、SQL Serverの
Id | Code | DateTime1 | DateTime2
1 3AA2 2017-02-01 14:23:00.000 2017-02-01 20:00:00.000
2 E323 2017-02-12 17:34:34.032 2017-02-12 18:34:34.032
3 DFG3 2017-03-08 09:20:10.032 2017-03-08 12:30:10.032
4 LKF0 2017-04-24 11:14:00.000 2017-04-24 13:40:00.000
5 DFG3 2017-04-20 13:34:42.132 2017-04-20 15:12:12.132
6 DFG3 2017-04-20 13:34:42.132 NULL
Idは、自動数値フィールドです。 コードはstringで、Datetime1とDateTime2はdatetime型です。また、DateTime1はnullでもdatetime2でもかまいません。
具体的なコードと一致し、datetime2がNULLに設定されている最後の行datetime1(MAX datetime1、最新のもの)を取得したいとします。
例えば、コードDFG3ため、テーブルの上に考慮私はID = 6を持つ行を取得したい、datetime1でのためにその最大日付、つまり「:34:2017年4月20日13 42.132」
しかし、今は、次のような場合を想像:、つまり、
Id | Code | DateTime1 | DateTime2
1 3AA2 2017-02-01 14:23:00.000 2017-02-01 20:00:00.000
2 E323 2017-02-12 17:34:34.032 2017-02-12 18:34:34.032
3 DFG3 2017-03-08 09:20:10.032 2017-03-08 12:30:10.032
4 LKF0 2017-04-24 11:14:00.000 2017-04-24 13:40:00.000
5 DFG3 2017-04-20 13:34:42.132 NULL
6 DFG3 2017-05-02 16:34:34.032 2017-05-02 21:00:00.032
が再び、表の上の考慮に入れ、私は同じを取得したいと一致datetime1で(最大datetime1で、最新のもの)によって、最後の行具体的なコードであり、datetime2はNULLに設定されています。
次に、コードDFG3の最後のケースでは、Id = 6の行がコードDFG3のdatetime1(最新)であるため、NULLではないため、行は返されません。
どうすればいいですか?
2番目のケースでどのような結果が必要ですか?何を試しましたか? –