2010-10-11 5 views
2

Если у меня есть 2 таблицы, каждый из которых имеет product_statDECIMAL и product_idINT столбецОбновить таблицу A со значениями из TableB?

Я хочу, чтобы выполнить запрос, который добавит product_stat от TableA к TableB на product_id. Затем truncate TableA

В основном я собираю данные и временно сохраняю их в TableA, и один раз в день я хочу переместить данные в TableB. Так что TableB имеет только данные, сдвинутые один раз в день.

ответ

2

quich решение использовать подзапрос

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 
+0

Вы запросы переопределяем вместо добавив. Его хорошо, хотя, что дает мне достаточно, чтобы написать его, как мне это нужно :) –

-1
UPDATE Authors AS A, Books AS B SET AuthorLastName = 'Wats' WHERE B.AuthID = A.AuthID AND AND ArticleTitle='Something'; 
Смежные вопросы