根据唯一值进行SQL更新

时间:2018-10-03 12:46:17

标签: sql-server vb.net

我正忙于创建VB.Net Windows应用程序。我正在使用带有skedulering表的Microsoft sql服务器数据库。我正在尝试使用基于另一列(即Kode)的唯一值更新一列(即Groep)。该值采用Kode值的前三个字符,并为其添加一个整数。我认为我的意思最好用以下解释:

enter image description here

所有带有红色边框的行均具有相同的Groep值。任何人都可以帮助我创建sql语句吗?

致谢

1 个答案:

答案 0 :(得分:1)

使用density_rank()生成运行否

UPDATE t
SET    Groep = left(Kode, 3) + convert(varchar(10), rn)
FROM
(
    SELECT Kode, Groep, rn = dense_rank() over (partition by left(Kode, 3) order by Kode)
    FROM   yourtable
) t