2010-10-11 48 views
2

如果我有2个表,每个表有product_statDECIMALproduct_idINT使用TableB中的值更新TableA?

我想运行一个查询,将追加product_stat从表A至表B上的product_id。然后截断表A

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

回答

2

的基切,解决方案是使用子查询

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

但是你可以在JOIN结合使用UPDATE,这将有更好的表现

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

您查询重写,而不是加入。它的好处,但是,这足以写我喜欢它:) – 2010-10-11 20:51:40

-1
UPDATE Authors AS A, Books AS B SET AuthorLastName = 'Wats' WHERE B.AuthID = A.AuthID AND AND ArticleTitle='Something'; 
相关问题