我不小心更新了所有記錄table2
數據列custno
與value ='33'
從備份表列原始表列
現在我需要從table1
恢復所有列數據爲custno
到table2
複製數據(不影響其他數據)。
注意在任何一個表上都沒有主鍵。它似乎也有幾個ID
正在重複。 table1
可能不止一次地具有相同的ID
,並且所有ID
都需要使用與table2
中發現的日期值相同的ID
來填充。
任何幫助,非常感謝。
-------------------所以這裏是更新的實際場景:----------------- --------
表1(狀態良好上表)
id col1 col2 col3 col4 colN custno
1 1 dhruv joshi 3 2 12
1 1 alpha beta 3 2 12
1 1 ebta alpha 3 2 12
1 1 dhruv joshi 3 2 11
1 1 alpha beta 3 2 11
1 1 ebta alpha 3 2 10
表2(無意中更新custno = 33對於所有的記錄)
id col1 col2 col3 col4 colN custno
1 1 dhruv joshi 3 2 33
1 1 alpha beta 3 2 33
1 1 ebta alpha 3 2 33
1 1 dhruv joshi 3 2 33
1 1 alpha beta 3 2 33
1 1 ebta alpha 3 2 33
現在我必須恢復此表2列(custno
)與table1
完全一致,不觸及任何其他列。
我希望這會清除現在的情況。
更新此查詢後,它會產生意外的結果。
UPDATE t2
SET t2.custno = t1.custno
FROM table1 AS t1
JOIN table2 AS t2
ON t1.ID = t2.ID
AND t1.col1 =t2.col1
AND t1.col2 =t2.col2
AND t1.col3 =t2.col3
AND t1.colN =t2.colN
意想不到的結果是
id col1 col2 col3 col4 colN custno
1 1 dhruv joshi 3 2 12
1 1 alpha beta 3 2 12
1 1 ebta alpha 3 2 12
1 1 dhruv joshi 3 2 12
1 1 alpha beta 3 2 12
1 1 ebta alpha 3 2 12
多部分標識符t1.custno = t2.custno無法綁定...發生此錯誤.. – user2139057
唉!這是一個簡單的錯誤...更新答案,並添加一個Sqlfiddle – DhruvJoshi
謝謝dhruv ..但我的情況是不同的..我意外地更新所有客戶不與價值12 ...所以我需要恢復該特定列從原始備份表 – user2139057