2012-07-26 82 views
-1

舊錶上的按鍵

主要作者
加入----------------------- -
1名作者甲
2作者乙
3作者ç
4作者d
-------------------------

重要書名
-------------------------
1書名由A
1書名由A
4書名由d
4書名由d
2書名由乙
------------- ------------

新加入的表上則newkey

則newkey主要作者
-------------------- -----
1001 1作者A
1002 2作者B
1003 3作者ç
1004 4作者d
-------------------------

則newkey重點書名
- ------------------------
1001 1書名由A
1001 1書名由A
1004 4書名由d
1004 4 Book Title by D
1002 2 Book Title by B
-------------------------

創建NewKey的目的是將數百個數據庫合併在一起,其中Key字段重疊,因此此腳本將在合併之前創建全局唯一的NewKey字段。每個數據庫都有11個表,其中鍵字段重疊。所以我需要爲Key字段上的每個表完成此步驟。一批到現有的號碼添加在現有列

+1

能否請您**告訴我們**表中所討論的結構(列和數據類型)和可能的樣品日* *前的更新和你期望的輸出? – 2012-07-26 15:42:56

+0

這個數字也存在於同一個數據庫的不同表中 – 2012-07-26 15:44:58

+1

你能解釋一下爲什麼,如果你能得到這些信息,你需要存儲它嗎?似乎對我來說是多餘的,除非要刪除文件#列。 – 2012-07-26 15:45:21

回答

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]; 
+3

現在,這將是*太容易了 - - 它必須有更多的:-) – 2012-07-26 15:43:23

+0

它是從另一張桌子確實 – 2012-07-26 15:52:00