我有一张表:
ID ID2 Name
1 1
2 1
3 2
4 2
5 2
6 3
7 3
8 3
我想使用Name1,name 2等值更新Name列。 如果ID2列中有两个相似的值,这将基于条件,例如,前两行,然后分别使用值Name1和Name2更新Name列。下一行分别是Name1,Name2,Name3等等上。有人可以帮助我解决这个问题吗?
答案 0 :(得分:0)
ROW_NUMBER
列上ID2
列的ID
UPDATE yourTable t1
SET Name = (SELECT 'Name' || t.rn FROM
(
SELECT t2.ID, t2.ID2,
ROW_NUMBER() OVER (PARTITION BY t2.ID2 ORDER BY t2.ID) rn
FROM yourTable t2
WHERE t1.ID = t2.ID AND t1.ID2 = t2.ID2
) t)
按{{1}}列排序,应生成所需的序列。试试这个更新查询:
{{1}}