2013-12-09 3 views
3

У меня есть таблица, это выглядит следующим образом:Создание вставки для каждого столбца в одной строке?

value | column2value | column3value | whatever 

Теперь для всех значений в 2-м и 3-м столбце, я хочу, чтобы создать вставку в другую таблицу, поэтому впоследствии, другая таблица должна выглядеть так:

value | column2value | whatever 
value | column3value | whatever 

Как бы я это сделал? Возможно, с помощью курсора? Какой лучший подход?

Примечание: я в конечном итоге решить эту проблему с помощью курсора ...

+0

Неверное определение таблицы. Столбцы не являются значениями. Итак, что вы хотите получить в итоговой таблице? Объединение столбцов 'column2value' и' column3value'? Или что? –

+0

Должна ли быть единственная вставка? Или это может быть вставка для столбца2value и вставка для столбца3value? – Matt

ответ

1

Попробуйте это:

INSERT INTO another_table (field1, field2, field3) SELECT (field1, field3, field4) FROM table; 

Если вам нужно получить данные из разных колонок используют СЛУЧАЙ Вы можете прочитать здесь http://dev.mysql.com/doc/refman/5.0/en/case.html

0

Если значение column2value и column3value одного типа, используйте это.

INSERT INTO SecondTable (val, val23, whatever) 
(
    SELECT value as val, column2value as val23 , whatever FROM FirstTable 
    UNION 
    SELECT value as val, column3value as val23 , whatever FROM FirstTable 
) 

В противном случае его невозможно.

Смежные вопросы