SQL Project Planning

  • + 0 comments

    %sql with start_date_cte as ( select *,dense_rank() over ( order by task_id asc) as rownum from ( select *,datediff(day,l,start_date) as dd from ( select start_date,end_date,task_id ,lag(start_date,1) over(order by end_date) as l from projects ) ) where dd!=-1 or dd is null) , end_date_cte as ( select *, dense_rank() over ( order by task_id asc) as rownum from ( select *,datediff(day,l,start_date) as dd from( select start_date,end_date,task_id ,lead(start_date,1) over(order by end_date) as l from projects ) ) where dd!=1 or dd is null ) select s.start_date,e.end_date from start_date_cte s join end_date_cte e on s.rownum=e.rownum;