数据库将一个表的某一列值覆盖到另外一个表的某一列值,为什么只把第一个数据传过去了呢?
我想把POI_point表中的NAME这一列的值用表sheet中的F1这一列的值代替。 用Update语句更新后为什么只把sheet表中的第一行的值覆盖到整个POI_point表中的NAME一列的值,如图所示:
覆盖到NAME一列中,结果成了这:
我写的update 语句是:
update POI_point
set NAME = Sheet.F1
from Sheet
------解决方案--------------------try this,
update a
set a.NAME=b.F1
from (select *,row_number() over(order by getdate()) 'rn' from POI_point) a
inner join (select *,row_number() over(order by getdate()) 'rn' from Sheet) b on a.rn=b.rn
------解决方案--------------------你导入的选项有误