update gw2_roster_wvw
set user_id =
(select user_id FROM xf_user_field_value where gw2_roster_wvw.member = xf_user_field_value.field_value);
это мой запрос на обновление gw2_roster_wvw с помощью идентификаторов пользователей из фактической базы данных форумов
Что мне нужно сделать сейчас, это взять эту обновленную таблицу и теперь обновить
xf_user_field_value
xf_user_field_value содержит 3 поля:
user_id
field_id
field_value
вот пример вывода:
select * from xf_user_field_value where user_id = "1";
+---------+-------------+--------------------------------------------------+
| user_id | field_id | field_value |
+---------+-------------+--------------------------------------------------+
| 1 | facebook | |
| 1 | gw2_account | xxxxxx.4725 |
| 1 | gw2_groups | a:2:{s:3:"wvw";s:3:"wvw";s:4:"Yank";s:4:"Yank";} |
| 1 | gw2_rank | |
| 1 | skype | |
| 1 | twitter | |
+---------+-------------+--------------------------------------------------+
Я думаю, что мне нужно будет сделать что-то вроде этого:
update xf_user_field_value
set field_value =
(select rank FROM gw2_roster_wvw where xf_user_field_value.user_id = gw2_roster_wvw.user_id)
where field_id = "gw2_rank";
Есть ли лучший / более простой способ сделать это?