我有一个包含两个日期列的表。DATE1 有时为 NULL,有时包含重复值。DATE2 始终填充且唯一。我的表格按最新的 DATE2 日期排序。
我想创建一个新的日期列,其中将选择 DATE1,除非它的值与下一行重复或者它为 NULL。在这种情况下,我想取 DATE2 的值。我还需要两个布尔列来告诉我什么时候满足这些条件。让我用一个例子来演示一下,这样就更清楚了。
在下表中,第 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
非常感谢!