Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Перенос части таблицы в другую таблицу.


Автор: Elfet 13.8.2009, 18:47
Всем привет!

Подскажите, пожалуйста, как перенести часть данных из одной таблицы в другую?

Заранее спасибо!

Автор: ТоляМБА 13.8.2009, 19:15
Вставка
Код
Insert Into table2 (fileld1, field2, field3)
Select fileld1, field2, field3
From table1
Where field1>=10


Ну и затем удаление (если под переносом подразумевается перемещение а не копирование)
Код
Delete
From table1
Where field1>=10

Автор: Elfet 13.8.2009, 21:05
А если таблицы имеют разную структуру данных и нужно только определённые поля перемещать? 

Автор: ТоляМБА 13.8.2009, 21:17
Цитата(Elfet @  14.8.2009,  00:05 Найти цитируемый пост)
таблицы имеют разную структуру данных
Тебе нужно что-бы совпадала структура только переносимых полей. Либо делай конвертацию переносимых полей на этапе Selest

Цитата(Elfet @  14.8.2009,  00:05 Найти цитируемый пост)
нужно только определённые поля перемещать
В моём примере переносятся данные только полей fileld1, field2, field3 а в таблице table1 их может быть и fileld1, field2, field3, ... , field50  smile 

Автор: Elfet 14.8.2009, 00:39
ТоляМБА, ок, спасибо. 
А при этом можно ещё сразу как-нибудь изменять данные?

Автор: ТоляМБА 14.8.2009, 04:46
Цитата(Elfet @  14.8.2009,  03:39 Найти цитируемый пост)
А при этом можно ещё сразу как-нибудь изменять данные?

Можно - всё что будет в Select (агрегированные ф-ии, конкатенация, результаты арифметических операций) передастся в приёмную таблицу. Ты сначала без Insert Into делай Select, у тебя результат выведется на экран, как получишь требуемый результат лепи сверху Insert Into и вперёд!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)