将数字添加到现有列中的现有数字

时间:2012-07-26 15:40:52

标签: sql sql-server database

老表加入了关键词
主要作者
-------------------------
1作者A
2作者B
3作者C
4作者D
-------------------------

重点书名 -------------------------
1个书的标题由A
1个书的标题由A
4书的标题由D
4书的标题由D
2书的标题由B
-------------------------

新表加入NewKey

NewKey Key作者
-------------------------
1001 1作者A
1002 2作者B
1003 3作者C
1004 4作者D
-------------------------

NewKey Key Book Title
-------------------------
1001 1书籍标题由A
1001 1书籍标题由A
1004 4 D书的书名 1004 4 D书的书名 1002 2书的标题由B
-------------------------

创建NewKey的目的是将数百个数据库合并到Key字段重叠的位置,因此该脚本将在合并之前创建全局唯一的NewKey字段。每个数据库都有11个表,其中Key字段重叠。所以我需要为Key字段上的每个表完成此步骤。

1 个答案:

答案 0 :(得分:4)

它是否像这样简单?

UPDATE dbo.table SET col = [file#] * 100 + col;

如果它来自不同的表:

UPDATE destination
  SET destination.col = source.[file#] * 100 + destination.col
  FROM dbo.table AS destination
  INNER JOIN dbo.other_table AS source
  ON [some join condition that is anyone's guess];