выделить в таблицу с разными именами столбцов

В SQLSelect into ... копирует строки в другую (резервную) таблицу. Возможно ли это, если резервная таблица имеет другую структуру (или разные имена столбцов)? Если нет, каков наилучший способ достичь этого?

Вот что я хочу сделать:TableA имеет столбцыa1,a2,a3, Я хочу скопировать некоторые строки из этой таблицы в другую таблицуTableB который имеет столбецb1,b2,b3,b4, Содержаниеa1 идти вb1, a2 вb2 и т.п.

 zolio12 мая 2012 г., 06:44
Спасибо за точку. Я работаю над sqlite. Я не был уверен, что & quot; Выбрать в ... & quot; работает в sqlite. Я пытался только сейчас, это не работает в sqlite. Однако & quot; Вставить в .. & quot; работает для этого.
 millimoose12 мая 2012 г., 03:53
Какой вкус SQL? Единственный, кого я могу найти сSELECT..INTO является MS-SQL, и документация для него подразумевает, что он создаст новую таблицу - которая всегда должна иметь & quot; правильную & quot; состав.

Ответы на вопрос(1)

Решение Вопроса

column names не имеет значения, покаdata types матч.

Если типы данных столбцов не совпадают, попробуйте привести соответствующие значения.Just try с маленькими пустышками. Обязательно перечислите целевые столбцы явно, чтобы избежать путаницы. Как это:

INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM   TableA
WHERE <some condition>;

Подробнее в руководстве по SQLiteВот.

 21 сент. 2012 г., 07:27
мы не можем сделать это без указания имен столбцов, как это ... INSERT INTO payment_reject_reasons SELECT * FROMde_list_reasons  это дает мне ошибку ...
 21 сент. 2012 г., 10:41
@ user1179459: Выcan сделайте это, если типы строк совпадают. Если вы получаете сообщение об ошибке, они, очевидно, этого не делают. Также эта форма подходит только для специальных команд и особых ситуаций. Обычно вы должны указать соответствующие столбцы, поэтому команда не прервется, если вы добавите столбец в одну из таблиц. Я добавил ссылку на руководство.

Ваш ответ на вопрос