1

我有一个表,其中的键与另一个表相关,我需要将其更改为指向另一个表。

表 A是正在编辑的表,我正在将 Id 从表 B Old指向表 B New

我无法编辑现有表的架构。

之前的表 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

显然,我无法通过、10with 、with单独替换,因为这样该列将显示为。1211131213TableB_Id13, 13, 13, 13

希望这是有道理的。有任何想法吗?

4

2 回答 2

1

使用电子表格的内容创建一个名为Mapping的表格。

UPDATE  a
SET     TableB_Id = m.New_Id
FROM    TableA a
        INNER JOIN
                Mapping m
                ON a.TableB_Id = m.Old_ID
于 2013-08-01T16:05:41.343 回答
0

显然,我无法通过并单独将 10 替换为 12、将 11 替换为 13、将 12 替换为 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]
于 2013-08-01T16:04:26.650 回答