2010-12-08 5 views
0

table1: name | рейтинг | stat1 | stat2
table2: name | stat3
это форум и интеграция сайта, поэтому они не нормализованыОбновление всей таблицы SQL с выбором из другой таблицы на основе поля первой таблицы

Мне нужно пересчитать рейтинг для пользователей в table1.
rating = stat1 + stat2 + stat3.
stat3 находится в table2, который имеет общее поле name с table1.

UPDATE table1 SET rating = stat1 + stat2 + 
(SELECT stat3 FROM table2 WHERE name = [name_from_table1]) 

Как я могу вставить name из table1 использовать его в выборе table2?

ответ

2

Попробуйте это:

UPDATE table1 JOIN table2 ON table1.name=table2.name SET table1.rating=table1.stat1+table1.stat2+table2.stat3 
+0

Да, это быстрее, затем выберите – Qiao 2010-12-09 00:11:51

Смежные вопросы