Ari*_*ian 1 sql sql-server row-number sql-server-2008 sql-update
请考虑此表:
id Col1 Col2
--------------------------
1 nima null
18 john null
25 sara null
Run Code Online (Sandbox Code Playgroud)
我有一个选择,转发这个记录:
id Col
---------------
1 LA
2 WA
3 FL
Run Code Online (Sandbox Code Playgroud)
我想用同样的顺序,你see.for例如更新来更新上面这个表记录LA了nima和...
我怎么能这样做?
谢谢
您可以根据row_number()以及更新SQL Server中的公用表表达式来更新,如下所示:
with cte1 as (
select Col2, row_number() over(order by id) as rn
from Table1
), cte2 as (
select col, row_number() over(order by id) as rn
from Table2
)
update c1 set
Col2 = c2.col
from cte1 as c1
left outer join cte2 as c2 on c2.rn = c1.rn
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的表很大,性能可能不是很好.如果是这种情况,您可以考虑使用row_number列创建临时表,并使此列成为主键,只需创建适当的索引
| 归档时间: |
|
| 查看次数: |
1280 次 |
| 最近记录: |