将PK值复制到NULL字段中

时间:2014-04-07 04:46:27

标签: sql

enter image description here

詹姆斯说三种语言。我想使用简单的SQL查询将PK 3023复制到意大利语和西班牙语行中。

示例规则适用于Liza。

任何建议都表示赞赏。

请注意,这只是手动输入的报告,应导入Oracle

1 个答案:

答案 0 :(得分:0)

所有评论都非常正确,我仍然准备了一个解决方案,保持您当前的需求,在SQL Server中做出回答,希望它对您有所帮助。

With CTE as 
(
select *
    ,Dense_Rank() over(order by UserId) as Rnk
 from UserLang
 ), CTE1 as
 (
 select  a.UserID as srcUID ,ab.UserID as destUID,a.userName as srcUName,ab.userName  as destUName from CTE as a
 outer apply
    (
        select top 1 * from CTE as b
        where a.seqID > b.seqID
            and b.userID is not null
        order by b.seqID desc
    )as ab
where a.userID is null
)
update CTE1 set srcUID = destUID ,srcUName = destUName

DEMO

的链接