Как обновить столбец по результатам СУММЫ из другого столбца таблицы? - PullRequest
1 голос
/ 23 мая 2011

Что мне нужно, так это обновить столбец из таблицы 1, используя результаты СУММ другого столбца в таблице 2, например:

Таблица 1

id             | views | 
--------------------
1          |   0  |  
2          |   0  |  

Таблица 2

show_id    | views | 
--------------------
1          |   5   |  
1          |   10  |  
1          |   10  |  
2          |   10  |  
2          |   10  |  
2          |   10  |  

Теперь две таблицы связаны идентификатором и show_id там одно и то же значение; я хочу добавить сумму просмотров из show_id в id, где show_id = id

так что в конце таблица 1 должна выглядеть так:

id         | views | 
--------------------
1          |   25  |  
2          |   30  |  

Я использую MySQL 5.1.30

1 Ответ

1 голос
/ 23 мая 2011

Используйте update с join:

UPDATE table1 t1
INNER JOIN table2 t2 ON (t1.id = t2.show_id)
SET t1.views = SUM(t2.views)
GROUP BY t1.id;

См .: http://dev.mysql.com/doc/refman/5.0/en/update.html

...