【问题标题】:SQL Update according to unique values [duplicate]SQL根据唯一值更新[重复]
【发布时间】:2019-03-08 16:53:20
【问题描述】:

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

所有带红色边框的行都具有相同的 Groep 值。谁能帮我创建sql语句?

问候

【问题讨论】:

  • 为什么CASGrKIRES 的示例中没有CAS3

标签: sql-server vb.net


【解决方案1】:

使用dense_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

【讨论】:

  • 太棒了。工作很棒。我自己永远也想不通。谢谢松鼠。
猜你喜欢
  • 2022-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多