合并数据库中的重复时间记录

合并数据库中的重复时间记录,第1张

合并数据库中的重复时间记录

如果可以确保所有开始日期和结束日期都是连续的,请尝试以下 *** 作:

with  t1 as  --tag first row with 1 in a continuous time series(select t1.*, case when t1.column1=t2.column1 and t1.column2=t2.column2       then 0 else 1 end as tag  from your_table t1  left join your_table t2    on t1.EmployeeId= t2.EmployeeId and dateadd(day,-1,t1.StartDate)= t2.EndDate)select t1.EmployeeId, t1.StartDate,        case when min(T2.StartDate) is null then null else dateadd(day,-1,min(T2.StartDate)) end as EndDate,       t1.Column1, t1.Column2  from (select t1.* from t1 where tag=1 ) as t1  -- to get StartDate  left join (select t1.* from t1 where tag=1 ) as t2  -- to get a new EndDate    on t1.EmployeeId= t2.EmployeeId and t1.StartDate < t2.StartDate group by t1.EmployeeId, t1.StartDate, t1.Column1,   t1.Column2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5017402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存