如何基于SQL中的唯一标识符为null赋值?

问题描述 投票:0回答:1

我正在尝试根据ID列将字符串分配给空类别。我想做的是根据ID将空值替换为销售代表。我不一定需要覆盖空值,添加具有调整后的销售名称的列也可以。我当时在想也许要根据唯一ID使用案例组,但是我没有运气。我有一个具有这种类型的结构的表:

样本数据:

ID            SalesRep      Amount  
123           Steve         50.00  
123           Steve         100.00  
123           Steve         150.00   
123           NULL          200.00

456           Dave          25.00  
456           Dave          75.00  
456           Dave          500.00   
456           NULL          300.00

预期结果:

ID            SalesRep      Amount  
123           Steve         50.00  
123           Steve         100.00  
123           Steve         150.00   
123           Steve         200.00

456           Dave          25.00  
456           Dave          75.00  
456           Dave          500.00   
456           Dave          300.00
sql null uniqueidentifier
1个回答
0
投票

您可以使用窗口功能:

select t.*,
       coalesce(SalesRep,
                max(SalesRep) over (partition by id) as imputed_ SalesRep
               )
from t;
© www.soinside.com 2019 - 2024. All rights reserved.