Продублирую тут еще..)
Всем привет. Нужна помощь тех, кто знает SQL =)
В общем есть 2 таблицы. Таблица table1 и table2. Структура у них одинаковая. Т.е. есть куча разных столбцов, таких как ID, icon и т.д..
В этих таблицах разные значения в столбце icon.
Необходимо выполнить запрос в таблицу table2. Обновить значения icon у тех ID, у которых в table1 в столбце icon встречается (icon1.). Проблема только в том, что все эти значения в таблице icon разные, т.е. для обновления в table2 эти значения необходимо брать из table1 и сопоставлять с ID в table2. Не знаю, правильно ли я объяснил))
Пытался что-то сделать сам, но помоему какую-то чушь написал..
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 знаю поверхностно..
Может кто-то подскажет?
нет, в том-то и дело, что инсерт не подойдет.
строки с такими ID существуют уже как в первой, так и во второй таблице...
Нужно именно обновить значения во второй таблице, взяв эти значения из первой таблицы
да зачем эта структура то?))
В общем можно закрывать. Если вдруг кому понадобится, то мне помог вот такой запрос, правда у меня 60к записей и выполнялся он минут 30, но все же результат оправдал себя)
PHP:
UPDATE table1, table2
SET table1.icon = table2.icon
WHERE table1.id = table2.id
AND table2 LIKE '%icon1.%';
да зачем эта структура то?))
В общем можно закрывать. Если вдруг кому понадобится, то мне помог вот такой запрос, правда у меня 60к записей и выполнялся он минут 30, но все же результат оправдал себя)
PHP:
UPDATE table1, table2
SET table1.icon = table2.icon
WHERE table1.id = table2.id
AND table2 LIKE '%icon1.%';
Во первых, то что написал ты - выдает ошибку синтаксиса. Во вторых сам запрос не удовлетворяет условиям, но это не проблема. Условия я дописал, но MySql все равно ругался на FROM .
Во первых, то что написал ты - выдает ошибку синтаксиса. Во вторых сам запрос не удовлетворяет условиям, но это не проблема. Условия я дописал, но MySql все равно ругался на FROM .
Во первых, я за тебя нашел решение. Во вторых, ты отталкивался от него.
Добавить строчку не проблема, я писал что не мастер sql. Твой запрос в первом посте вообще бред.
Ну да ладно)
Во первых, я за тебя нашел решение. Во вторых, ты отталкивался от него.
Добавить строчку не проблема, я писал что не мастер sql. Твой запрос в первом посте вообще бред.
Ну да ладно)