如何将对应于外键的值从另一个表复制到该表?

时间:2018-03-30 09:21:26

标签: sql sql-server

我有两张表tblAtblX。在tblA中,FKX有一个外键tblX。我想将StringColumn的相应值复制到strColCopy列。它引入了冗余,但它是较长迁移过程的一部分。

如何为每个tblX.StringColumn单元格访问tblA.FKX单元格?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用UPDATE

使用JOIN

SQL Server解决方案:

UPDATE A 
SET A.strCol = X.StringColumn
FROM TblA A 
JOIN (SELECT FKX, strCol FROM TxlX GROUP BY FKX, strCol) AS X ON A.FKX = X.ID 

SQL Server的通用Update join的语法:

UPDATE a
SET a.columnToUpdate = [something]
FROM TABLEA a 
JOIN TABLEB b ON a.colA = b.colB     

MySQL解决方案:

UPDATE TblA A 
JOIN (SELECT FKX ,strCol FROM TxlX GROUP BY FKX ,strCol)AS X
ON A.FKX = X.ID 
SET A.strCol = X.StringColumn

MySQL的通用Update join语法:

UPDATE TABLEA a 
JOIN TABLEB b ON a.colA = b.colB
SET a.columnToUpdate = [something]