繁体   English   中英

如何根据 SQL 中的唯一标识符为 null 赋值?

[英]How to assign a value to a null based on a unique identifier in SQL?

我正在尝试根据 ID 列将字符串分配给 null 类别。 我想要做的是用基于 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

您可以使用 window 函数:

select t.*,
       coalesce(SalesRep,
                max(SalesRep) over (partition by id) as imputed_ SalesRep
               )
from t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM