2012-01-22 175 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 
相关问题