2012-01-22 117 views
2

我有兩個同列的表anomaly_id。我想的anomaly_id行從第一個表使用此代碼SQL Server:將數據從一列複製到另一列?

UPDATE amb.anamoly_log_update 
SET anamoly_id = t2.anomaly_id 
FROM amb.anamoly_log_update t1 
INNER JOIN amb.anomaly_fee t2 ON t1.anamoly_id=t2.anomaly_id 

即使我這樣做,它顯示0行受到影響,當存在amb.anomaly.fee(源表)數據

複製到第二個表

請幫助

編輯:評論from post:我只是想所有的anamoly_idamb.anamoly_fee複製到amb.anamoly_log_update。我的代碼可能是無意義的。請審查它。

+0

而且'SET anamoly_id'錯誤的列名是一個錯字-r飛行?在目標表中的列是否真的被稱爲別的而不是在源表中(你說在開始時列名是相同的......) –

回答

3

從anomaly_fee複製ID來anamoly_log_update使用:

INSERT INTO anamoly_log_update (anamoly_id) 
     SELECT anamoly_id FROM anomaly_fee 

與兩列,它看起來像:

INSERT INTO anamoly_log_update (anamoly_id,PID) 
     SELECT anamoly_id,PID FROM anomaly_fee 
+0

謝謝Rauschen.It非常簡單,而且我的腦袋圍繞它變得糟糕。問題回答 – deception1

+2

您可以將答案標記爲「已接受」,而不是將其作爲第一個答案顯示在您的問題下。其他請參閱問題已解決 – rauschen

+0

@ user1151462:此主題將幫助您瞭解如何接受答案和接受答案:[接受答案如何工作?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

0

你只有當他們兩個表在..然後沒有什麼更新,因爲你不改變數據=> 0行受到影響

ON t1.anamoly_id=t2.anomaly_id 

請想想你真正想要的將數據複製要做和改變你的描述..

+0

我是新來的sql我只是想從填充列中複製數據到下一張桌子上的一個空的列表 – deception1

+0

我明白,但目前你有兩個填充列..請更好地描述表格結構...或者,也許INSERT是你想要的 – rauschen

+0

表1 stu_id PID anamoly_id ||表2 PID Anomaly_id ||表1(amb.anamoly.fee已滿,表2(amb.anamoly_log_update)爲空。我想將表1中的某個ID的所有數據複製到表2中的anamoly_id列中 – deception1

0

amb.anamoly_log_update是否至少包含一行,對應於amb.anamoly_fee中存在的anamoly_id?您正嘗試加入anamoly_id上的兩個表格。

+0

實際上不,我只是想複製所有anamoly_id從amb.anamoly_fee到amb.anamoly_log_update.My代碼可能是無意義的.P租約做審查。 – deception1

+0

INSERT INTO anamoly_log_update(anamoly_id)SELECT anamoly_id FROM anolyoly_fee – naresh

+0

謝謝你naresh – deception1

0

您需要提供表之間的聯動等比t1.anamoly_id=t2.anomaly_id或查詢將什麼都不做

0
merge into amb.anamoly_log_update as t1 
    using amb.anomaly_fee as t2 
     on t1.anamoly_id=t2.anomaly_id 
when matched then 
    update set t1.anamoly_id = t2.anomaly_id 
相關問題