02-05-2016, 10:57 AM
Всем привет. Нужна помощь тех, кто знает SQL =)
В общем есть 2 таблицы. Таблица table1 и table2. Структура у них одинаковая. Т.е. есть куча разных столбцов, таких как ID, icon и т.д..
В этих таблицах разные значения в столбце icon.
Необходимо выполнить запрос в таблицу table2. Обновить значения icon у тех ID, у которых в table1 в столбце icon встречается (icon1.). Проблема только в том, что все эти значения в таблице icon разные, т.е. для обновления в table2 эти значения необходимо брать из table1 и сопоставлять с ID в table2. Не знаю, правильно ли я объяснил))
Пытался что-то сделать сам, но помоему какую-то чушь написал..
В общем есть 2 таблицы. Таблица table1 и table2. Структура у них одинаковая. Т.е. есть куча разных столбцов, таких как ID, icon и т.д..
В этих таблицах разные значения в столбце icon.
Необходимо выполнить запрос в таблицу table2. Обновить значения icon у тех ID, у которых в table1 в столбце icon встречается (icon1.). Проблема только в том, что все эти значения в таблице icon разные, т.е. для обновления в table2 эти значения необходимо брать из table1 и сопоставлять с ID в table2. Не знаю, правильно ли я объяснил))
Пытался что-то сделать сам, но помоему какую-то чушь написал..
PHP код:
<?php
UPDATE table2 t2 SET t2.icon = (SELECT t1.icon FROM table1 t1 WHERE t1.id = t2.id)
WHERE id IN (
SELECT id FROM table1 WHERE icon LIKE '%icon1.%'
);
В конечном итоге ошибка 1242 - Subquery returns more than 1 row
знаю, что где-то на****лся. Но sql знаю поверхностно..
Может кто-то подскажет?