【发布时间】:2021-09-06 02:13:46
【问题描述】:
我得到的输出是这个。
2015-10-01 NULL
NULL NULL
NULL NULL
NULL 2015-10-05
2015-10-11 NULL
NULL 2015-10-13
2015-10-15 2015-10-16
2015-10-25 NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL 2015-10-31
我想要这个
2015-10-01 2015-10-05
2015-10-11 2015-10-13
2015-10-15 2015-10-16
2015-10-25 2015-10-31
我的代码:
select (case when (end_lag <> start_date) or end_lag is null then start_date end) as start_date,
(case when (start_lead <> end_date) or start_lead is null then end_date end) as end_date
from
(select lead(start_date) over(order by start_date) as start_lead, start_date, end_date, lag(end_date) over(order by end_date) as end_lag
from projects) t1;
原始表有两个属性(start_date,end_date),我为start_date创建了lead列,为end_date创建了lag列
【问题讨论】:
-
请分享原始表格中的样本数据
标签: sql oracle-sql-data-modeler targetnullvalue