我正在尝试使用不同的值更新多行,但不需要匹配任何特定的ID.
当然,两个不同表上的两列将具有相同数量的记录.
例如,我有一个表Table1,并Column1与该表列出10项查询(在ID不连续).
ID ItemName
1 Item1
2 Item2
4 Item3
5 Item4
6 Item5
8 Item6
9 Item7
14 Item8
18 Item9
23 Item10
Run Code Online (Sandbox Code Playgroud)
现在,我有另一个表Table2和Column2我想和高于10个项目进行更新.
这也有不同的ID,但是ItemName为空/空值.
ID ItemName
301 NULL
321 NULL
323 NULL
331 NULL
333 NULL
335 NULL
336 NULL
355 NULL
377 NULL
388 NULL
Run Code Online (Sandbox Code Playgroud)
所以,我正在寻找一个查询,我可以更新Table2和Column2使用这10个项目Table1,结果看起来像这样
ID ItemName
301 ITem1
321 ITem2
323 ITem3
331 ITem4
333 ITem5
335 ITem6
336 ITem7
355 ITem8
377 ITem9
388 ITem10
Run Code Online (Sandbox Code Playgroud)
请帮忙.提前致谢.
WITH CTE1
AS (SELECT *,
Row_number() OVER (ORDER BY ID) AS RN
FROM Table1),
CTE2
AS (SELECT *,
Row_number() OVER (ORDER BY ID) AS RN
FROM Table2)
UPDATE CTE2
SET ItemName = CTE1.ItemName
FROM CTE2
JOIN CTE1
ON CTE1.RN = CTE2.RN
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12842 次 |
| 最近记录: |