表A中的SQL Update值包含表B中的多个值

时间:2013-09-26 06:04:05

标签: sql matching

我正在尝试使用表B中的产品代码更新表A中的产品价格。

表A中约有50,000种产品,但表B中只有200种。 因此,我希望表B中的200个价格通过匹配两个表中的产品代码来替换表A中这些产品的价格。

有人可以告诉我如何去做吗?

3 个答案:

答案 0 :(得分:1)

UPDATE  TableA
SET     TableA.ProductPrice= TableB.price
FROM    TableA
INNER JOIN  TableB
ON  TableA.productCode = TableB.productCode

答案 1 :(得分:0)

您可以对MS Sql server使用内部联接更新(参考:Update a table using JOIN in SQL Server?)。请尝试以下查询:

UPDATE 
 TableA
SET TableA.Price = TableB.Price
FROM 
 TableA, TableB
WHERE 
 TableA.ProductCode = TableB.ProductCode

答案 2 :(得分:0)

在mysql中尝试此命令

update A t
set cost=(select cost from B where id=t.id)
where t.id in (select id from B)