2016-08-01 5 views
0

У меня сложный запрос/обновление mysql. Я хотел бы посоветовать, как подойти к этому.Комплексный SQL-запрос/обновление

Сначала я сломаю логические шаги.

  1. Выберите все идентификаторы из Table_A где a = b;
    • SELECT Table_A. Table_A_id ОТ Table_A ГДЕ connected = 'true';
  2. Для всех Table_A_id (из запроса в 1) найдите всех пользователей, у которых есть соответствующие Table_A_id.
  3. Для всех этих пользователей загляните в таблицу userdetails и скопируйте userdetails. contact_email - users. email.

будет добавить описание таблицы немного позже

+0

А где вы застряли? –

+0

Я могу сделать запрос, чтобы получить все идентификаторы, но как я могу продолжить шаг 2, а затем шаг 3? – MikeL

+0

SELECT 'partners' .partner_id' FROM' partners' WHERE 'connected' = 'true'; (партнеры - Table_A в моем вопросе – MikeL

ответ

0

Вы можете попробовать что-то вроде этого, если я правильно понял

UPDATE users a 
    JOIN Table_A c ON c.Table_A_id = a.Table_A_id 
    JOIN userdetails b ON a.Table_A_id = b.Table_A_id 
SET a.email = b.contact_email; 
WHERE c.a = b; 
+0

Могу ли я изменить второй, чтобы быть JOIN userdetails b ON a.user_id = b.user_id , так как Table_A_id присутствует только в таблице users, а не в таблице userdetails – MikeL

+0

@MikeL, да, определенно, вы можете это показать, как показано на рисунке, изменить его в соответствии с вашими потребностями. – Rahul

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