读书人

请帮写一条SQL语句能把小弟我的数据

发布时间: 2013-10-17 17:26:17 作者: rapoo

请帮写一条SQL语句,能把我的数据修正过来【在线等待】
1.本来业务是这样的:案件分配的时候,根据案件的ID就会把之前分配过的给闭合,并且闭合日期和闭合人等于这次分配日期和分配人。
2.但是我之前分配的时候忘记闭合了,导致有些数据都没闭合,大哥帮我写一条SQL语句把下面的数据修正过来,
3.每一个案件ID只能有一条未闭合的数据,

求各位大神帮我修一条SQL语句可以修正我下面的数据。

创建表的代码

                                                                            
[解决办法]
第一步:;with cte as
(
select *,rn=ROW_NUMBER() over(partition by 案件ID order by 分配日期) from #t_case_assign_log
)
select a.案件ID,a.分配日期,a.分配人ID,b.分配日期 as 闭合日期,b.分配人ID as 闭合人,
case when b.分配日期 is not null then 1 else 0 end as 是否闭合 into #t
from cte a
left join cte b on a.rn+1=b.rn and a.案件ID=b.案件ID

第二步:
update #t_case_assign_log
set #t_case_assign_log.需要修改的列名=#t.对应列名 --我不知道你要更新哪些列,要更新的全部写上。
from #t_case_assign_log inner join #t on #t_case_assign_log.主键=#t.主键

读书人网 >SQL Server

热点推荐