我退出SQL新手,我无法通过管理器控制台输入数据库。 我没有密码,所以我需要使用Query进行所有操作。
在数据库中有一个标记位置,但是这个位置是Bundle标记的顺序,此标记位置用于在应用程序中创建项目树。 在那里我们可以按项目编号排序,因此所有项目都是无序的,所以我需要更新这个专栏。 我发现了这个。
1。删除bun_tagposition
中的值的第一步UPDATE tew_bundle SET bun_tagposition = null
2。在bun_tagposition
中插入新值的第二步SELECT DISTINCT bun_tag , bun_tagposition
FROM tew_bundle
DECLARE @id INT
SET @id = 0
UPDATE tew_bundle
SET @id = bun_tagposition = @id + 1
此代码工作正常,但顺序错误此代码具有bun_id的顺序 我需要bun_tag的顺序,这是项目否
有没有办法解决这个问题,要对代码说必须更新,请遵循bun_tag。
感谢您的帮助,我已经在这个问题上度过了几天。
雨果
答案 0 :(得分:0)
如果我理解正确,您需要基于另一列的顺序排序。这表明使用row_number()
和可更新的CTE:
with toupdate as (
select tb.*,
row_number() over (order by projectno) as seqnum
from tew_bundle tb
)
update toupdate
set bun_tagposition = seqnum;