我有一个表,其中包含与不同表相关的键,我需要将其更改为指向不同的表。
表A 是正在编辑的表我正在将Id移动到表B旧指向表B新。
我无法编辑现有表格的架构。
之前的表A (无法编辑架构)
Unique_Id TableB_Id
1 10
2 11
3 11
4 12
表A <
之后Unique_Id TableB_Id
1 12
2 13
3 13
4 13
我所拥有的(虽然目前在电子表格中)此映射
Old_Id New_Id
10 12
11 13
12 13
显然,我无法通过10
,12
11
,13
和12
单独替换13
,因为这样TableB_Id
列会显示13, 13, 13, 13
。
希望这是有道理的。有什么想法吗?
答案 0 :(得分:1)
使用电子表格的内容创建一个名为Mapping
的表格。
UPDATE a
SET TableB_Id = m.New_Id
FROM TableA a
INNER JOIN
Mapping m
ON a.TableB_Id = m.Old_ID
答案 1 :(得分:0)
显然我无法通过12,11单独替换10 13,112与13,因为TableB_Id列将读取13, 13,13,13
为什么不呢?如果您只按Unique_ID更新,它一次只会更新1行。
这不会起作用:
-- Iterate over each row in excel file
Update TableA
Set TableB_Id = New_ID
Where Unique_ID = [new field to add to excel table corresponding to the unique_id]