2016-08-18 2 views
-2

Привет У меня есть список из 3000 идентификаторов в таблице temp, называемой Keepers. Мне нужно, чтобы присоединиться к Accounts столу, чтобы сделать внутреннее соединение, как следующее:Запрос MySQL, обновляющий записи в таблице, соединяющейся с временной таблицей

select * from keepers a 
join accounts_cstm b 
on a.keepers_id=b.id_c 

То, что я хочу сделать, это создать запрос на обновление, где я обновить keepers_c в accounts_cstm помечать 3000 записей в качестве хранителей. Я хочу автоматизировать запрос, чтобы он использовал номер строки в моей таблице хранителей для обновления account_cstm. id_c с помощью mysql пытались найти много способов, но это было нелегко.

Хранители Таблица

Row_Number keepers_id 
1 84d70138-161e-8033-6a19-53d260aa8309 
2 103941fc-481e-7c58-1726-53cfc779c6fd 
3 9a70736d-3971-a873-ee3e-53d259975dd2 
4 346a27d7-47f8-953f-448e-53cfc97ae3ae 
5 ebb7aab5-ab5b-ebf9-0cfc-53cfc81a99b9 

Accounts таблица

# id_c email_c title_c firstname_c lastname_c keeper_c 
9378d06d-5e6e-ce46-2549-53d012f43e44 NULL NULL NULL NULL  NULL 
ebb7aab5-ab5b-ebf9-0cfc-53cfc81a99b9 NULL NULL NULL NULL KEEPER 
346a27d7-47f8-953f-448e-53cfc97ae3ae NULL NULL NULL NULL NULL 
d8480e38-dd8b-f3c9-e947-53d2601a3a2e NULL NULL NULL NULL KEEPER 
9a70736d-3971-a873-ee3e-53d259975dd2 NULL NULL NULL NULL KEEPER 
b4bd7137-eb35-bc48-67c6-53e943f02042 NULL NULL NULL NULL  NULL 
103941fc-481e-7c58-1726-53cfc779c6fd NULL NULL NULL NULL KEEPER 
f042b165-794b-80a9-7643-53d43337c454 NULL NULL NULL NULL  NULL 
124fc26a-5ba2-1e77-c4d5-54b31292fc68 NULL NULL NULL NULL  NULL 
6638375b-578d-c17f-7a12-5539796e9774 NULL NULL NULL NULL  NULL 
84d70138-161e-8033-6a19-53d260aa8309 NULL NULL NULL NULL KEEPER 
+0

Не могли бы вы разместить столбцы для обеих таблиц? – Adam

+0

Кроме того, выборочные данные и ожидаемые результаты были бы полезными. – sgeddes

+0

Хранители Столбцы: Row_Number, Account_Keepers_Id – Leena

ответ

0

Запрос вам нужно:

UPDATE keepers a 
INNER JOIN accounts_cstm b ON a.keepers_id=b.id_c 
SET b.keeper_c = a.row_number 
0

Я не думаю, что вам нужно Row_Number колонку. Исходя из данных примера, я предполагаю, что вы хотите, чтобы совпадения устанавливали значение keeper_c - 'KEEPER'. Пожалуйста, дайте мне знать, будет ли это решение работать для вас:

UPDATE accounts_cstm a INNER JOIN keepers k ON a.id_c = k.id_c 
    SET a.keeper_c = 'KEEPER' 
; 
Смежные вопросы