2 つの日付列を持つテーブルがあります。DATE1 は NULL の場合もあれば、重複する値が含まれている場合もあります。DATE2 は常に入力され、一意です。私のテーブルは、最新の DATE2 日付で並べ替えられています。
値が次の行から複製されるか、NULL でない限り、DATE1 が選択される新しい日付列を作成したいと思います。この場合、DATE2 の値を取得します。また、これらの条件のいずれかがいつ満たされたかを示す 2 つのブール列も必要です。わかりやすいように、例を使用して説明します。
下の表では、行 5 と行 6 の値が2011 年 7 月 27 日であるため、行 5 の新しい日付列を2011 年 8 月 4 日(DATE2)に設定したいと考えています。行 3 では、DATE1 の値が NULL なので、DATE2 の値を取得します。
いくつかの内部選択ステートメントを試しましたが、これを機能させることができません。何か案は?
現在データベースにある私のテーブル:
Row DATE1 DATE2
--------------------------------------
1 Oct 10, 2011 Nov 13, 2011
2 Oct 10, 2011 Oct 10, 2011
3 NULL Oct 8, 2011
4 Aug 12, 2011 Aug 12, 2011
5 Jul 27, 2011 Aug 4, 2011
6 Jul 27, 2011 Jul 28, 2011
7 Jul 1, 2011 Jul 26, 2011
8 May 24, 2011 Jun 13, 2011
最終結果は次のようになると思います。
Row FINAL_DATE DATE1_DUPLICATE DATE1_WAS_NULL
----------------------------------------------------------
1 Nov 13, 2011 TRUE FALSE
2 Oct 10, 2011 FALSE FALSE
3 Oct 8, 2011 FALSE TRUE
4 Aug 12, 2011 FALSE FALSE
5 Aug 4, 2011 TRUE FALSE
6 Jul 27, 2011 FALSE FALSE
7 Jul 1, 2011 FALSE FALSE
8 May 24, 2011 FALSE FALSE
本当にありがとう!