2017-10-04 106 views
-1

我需要将表A的列a的值拷贝到表B的列b中。表A的列a到表B的列b的SQL拷贝值

此语句是否正确?

UPDATE 
    TableA, 
    TableB 
SET 
    TableB.b = TableA.a 
WHERE 
TableA.Id = TableB.Id 
+0

这是正确的,如果你有这些表中对应的ID。告诉我们更多关于你的结构! –

+0

您正在使用哪些DBMS? –

+0

INSERT INTO DESTINATION_TABLE SELECT * FROM SOURCE TABLE? – rmjoia

回答

0

如果目的地的列是空的,你并不需要匹配的东西只是用这个

INSERT INTO DestinationTb ([ColumnName]) 
SELECT [ColumnNameToTransfer] FROM [SourceTable] 

如果不只是加入

update A 
SET A.Columnname = B.ColumnNameToTransfer 
from DestinationTb A 
INNER JOIN 
SourceTable B 
ON 
--HERE ADD YOUR MATCHING FOR EXAMPLE 
A.ID = B.ID; 

或使用子查询

UPDATE DestinationTb 
    SET ColumnName = (
     SELECT ColumnNameToTransfer 
     FROM SourceTable 
    --HERE ADD YOUR MATCHING FOR EXAMPLE 
     WHERE SourceTable.id = DestinationTb.id 
    ); 
+0

非常感谢! – Parchita

0

一种解决方案是使用FROMJOIN背后UPDATE

UPDATE A 
SET A.a= B.b 
FROM TableA A 
JOIN TableB B ON A.ID = B.ID 
相关问题