Есть табличка ID, name, Key_type Данные: 1, мандарин,2 2, мандарин,2 3, тыква,2 цель: Нужно скопировать все данные по условию и вставить их в текущую таблицу, с простым копированием разобрался, но как быть если при копировании нужно изменить какие-то данные "на лету" ? Хочу скопировать все мандарины и поменять им тип на "3" Т.е рузультат должен быть такой: 1, мандарин,2 2, мандарин,2 3, тыква,2 4, мандарин,3 5, мандарин,3 Делаю вот так: Code: INSERT INTO таблица (поле,поле,поле) SELECT поле,поле,поле FROM таблица AS t WHERE таблица.Name='мандарин' Подскажите плиз в какую сторону копать... PS Нужно на чистом SQL\хранимые процедуры
INSERT INTO таблица (поле,поле,поле) SELECT IF(id=='3','теперь и это мандарин',поле),поле,поле FROM таблица AS t WHERE таблица.Name='мандарин'
Скорее так INSERT INTO таблица (поле,поле,поле) SELECT поле,поле,IF(Key_type!='3','3',Key_type) FROM таблица AS t WHERE таблица.Name='мандарин' Но это только заменит все Key_type на 3 при переносе, чтобы записи с прошлыми key_type тоже остались нужно объединить их через union. P.S. В дороге, не могу показать окончательный запрос, ближе к вечеру, если никто не поможет.