Имеется две идентичные таблицы, пусть table1, table2, но одна таблица заполнена данными, а вторая только наполовину. В таблицах есть такие поля: id, user_id, youtube, ball.
В двух таблицах заполнено только поле youtube, в котором ссылка на ютуб, т.е. в двух таблицах находятся данные пользователей: youtube, ball, поле youtube уже заполнено в двух таблицах одинаково. Это поле youtube является как ключом, по которому нужно скопировать теперь поле ball из таблица table1 в таблицу table2.
Поле id, user_id отличаются в двух таблицах, нельзя соединять таблицы с помощью join.
Вобщем нужно сделать примерно такой запрос:
скопировать поле table1.ball в поле table2.ball, где table1.youtube=table2.youtube
Подскажите, как это сделать?
если отправить такой запрос:
SELECT * FROM `table1` t1 join `table2` t2 on t1.youtube=t2.youtube
то вместо имеющихся допустим 30 строк возвратится примерно 2000 строк. Я конечно знаю, что тут нужно применять update и наверно вложенный select, но как это сделать ещё не придумал
Всё правильно, вам нужен update:
update table2, table1
set table2.ball = table1.ball
where table2.youtube = table1.youtube
В мануалах всё достаточно подробно расписано, в конце статьи как раз ваш случай.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости