2017-10-04 149 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 
相關問題