SQL Update使用另一个表从一个表列中记录

时间:2014-12-11 20:28:14

标签: sql sql-server merge

我无法将数据从一个表移动到另一个表。背景是这样的:

我有两个表,表A有一个包含Guids的列,如下所示:

+---------+
|  ent_id |   
+---------+
|       1 | 
|       2 | 
|       3 | 
|       4 | 
|       5 | 
+---------+

表B还有一个包含guid的列,如下所示:

+---------+
|party_id |  
+---------+
|       1 |
|       2 | 
|       3 | 
|       4 | 
|       5 | 
+---------+

我需要使用表B中的记录更新表A中的记录

更具体地说,我尝试了:

Update TableA
Set ent_id =  
(
   Select party_id from Table B
)

但这仅使用TableB中的一个重复GUID更新每个ent_id

1 个答案:

答案 0 :(得分:0)

UPDATE TableA    
SET TableA.Field1=TableB.Field1,
TableA.Field2=TableB.Field2,
TableA.Field3=TableB.Field3,
TableA.Field4=TableB.Field4,
TableA.Field5=TableB.Field5
FROM TableA INNER JOIN TableB ON TableA.ent_id=TableB.party_id

这有用吗?