2010-10-11 47 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'; 
相關問題