使用表中的值更新表?

时间:2010-10-11 20:37:36

标签: mysql

如果我有2个表,每个表都有product_stat DECIMAL product_id INT

我想运行一个查询,它会将tableA中的product_stat附加到product_id上的TableB中。然后截断TableA

基本上我收集数据并暂时将其存储在TableA中,每天一次我想将数据移动到TableB。因此,TableB每天只会移动一次数据。

2 个答案:

答案 0 :(得分:2)

快速解决方案是使用子查询

UPDATE tableB SET product_stat = (
    SELECT product_stat FROM tableA
    WHERE tableB.product_id = tableA.product_id
)

但是你可以将UPDATE与JOIN结合使用,这将有更好的性能

UPDATE tableB
    INNER JOIN tableA ON tableB.product_id = tableA.product_id
SET tableB.product_stat = tableA.product_stat

答案 1 :(得分:-1)

UPDATE Authors AS A, Books AS B SET AuthorLastName = 'Wats' WHERE B.AuthID = A.AuthID AND   AND ArticleTitle='Something';