Копирование данных из нескольких строк - MySQL
Формулировка задачи:
Подскажите, как построить запрос. Есть таблица с названиями и ID юзеров.
Для примера в этой таблице такие строки:
ID | userID | titles
1 | 342 | Имя1
2 | 342 | Имя2
3 | 342 | Имя3
4 | 341 | Имя4
5 | 341 | Имя5
Нужно добавить строки с userID 341 и всеми titles, которые присутствуют у юзера 342.
Как можно это сделать?
Решение задачи: «Копирование данных из нескольких строк»
textual
Листинг программы
INSERT INTO mytable (uid, titles) SELECT 341, titles FROM mytable WHERE uid = 342
Объяснение кода листинга программы
В данном коде происходит копирование данных из одной строки в другую. Вот список действий, которые выполняются в этом коде:
INSERT INTO mytable (uid, titles)- это команда добавления новой строки в таблицуmytable. В этой команде указываются два столбца, в которые будут вставлены данные:uidиtitles.SELECT 341, titles FROM mytable WHERE uid = 342- это команда выборки данных из таблицыmytable. Здесь мы выбираем значение столбцаtitlesиз строки, где значение столбцаuidравно 342.- В итоге, значение столбца
titlesиз строки сuidравным 342 будет скопировано в новую строку сuidравным 341.