Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как записать данные из отдной таблицы в другию?  [new]
2king2
Member

Откуда:
Сообщений: 545
Есть таблица из которой некоторые значения надо скопировать в другую таблицу. Имена и количество столбцов разное. Как это сделать? Понимаю что надо делать через
INSERT INTO <название таблицы> SELECT <имя столбца>,... FROM <название таблицы>
Но домыслить не получается.
28 июл 11, 13:28    [11039367]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
В хелпе посмотрите примеры.
28 июл 11, 13:28    [11039376]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31354
2king2
Понимаю что надо делать через
INSERT INTO <название таблицы> SELECT <имя столбца>,... FROM <название таблицы>
Всё правильно понимаете. Только нужно ещё перечислить столбцы после INSERT INTO <название таблицы>
28 июл 11, 13:31    [11039389]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
2king2
Member

Откуда:
Сообщений: 545
alexeyvg,

Да так и сделал. Но загвоздка в разном количестве столбцов сейчас. Ругается студия вот этим:
The select list for the INSERT statement contains fewer items than the insert list. 
The number of SELECT values must match the number of INSERT columns.
28 июл 11, 13:39    [11039435]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
Glory
Member

Откуда:
Сообщений: 104760
2king2

Да так и сделал. Но загвоздка в разном количестве столбцов сейчас. Ругается студия вот этим:
The select list for the INSERT statement contains fewer items than the insert list. 
The number of SELECT values must match the number of INSERT columns.

И что вам непонятно в этом сообщении ?
28 июл 11, 13:40    [11039442]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
2king2
alexeyvg,

Да так и сделал. Но загвоздка в разном количестве столбцов сейчас. Ругается студия вот этим:
The select list for the INSERT statement contains fewer items than the insert list. 
The number of SELECT values must match the number of INSERT columns.


так добавляйте одинаковое кол-во столбцов. Сервер ведь не может вставить данные из таблицы, в которой 5 столбцов, в таблицу, у которой 3 столбца ;)

INSERT INTO table1 (col1, col2, col3) SELECT col5, col6, col7 FROM table2 
28 июл 11, 13:44    [11039469]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31354
2king2
Но загвоздка в разном количестве столбцов сейчас
Ну уж вы как нибуть решите эту проблему.

Вы как представляете, если я напишу серверу
insert table1(a,b,c) select 1
что он должен сделать?
28 июл 11, 13:45    [11039477]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
2king2
Member

Откуда:
Сообщений: 545
Glory
И что вам непонятно в этом сообщении ?


Все понятно, но пока не могу разобраться. Как нибудь можно связать столбцы разных таблиц? Обязательно количество в SELECT должно совпадать с таблицей в которую INSERT?
28 июл 11, 13:48    [11039481]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
2king2
Glory
И что вам непонятно в этом сообщении ?


Все понятно, но пока не могу разобраться. Как нибудь можно связать столбцы разных таблиц? Обязательно количество в SELECT должно совпадать с таблицей в которую INSERT?


что вы понимаете под "связать столбцы"?
Обязательно количество в SELECT должно совпадать с таблицей в которую INSERT - конечно, читайте ответы
28 июл 11, 13:51    [11039499]     Ответить | Цитировать Сообщить модератору
 Re: Как записать данные из отдной таблицы в другию?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
2king2
Обязательно количество в SELECT должно совпадать с таблицей в которую INSERT?
Т.е. вы получаете недвусмысленное сообщение об ошибке, но продолжаете спрашивать, обязательно ли?

2king2
Все понятно, но пока не могу разобраться. Как нибудь можно связать столбцы разных таблиц?
Читайте про join.
28 июл 11, 13:53    [11039508]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как записать данные из отдной таблицы в другию?  [new]
noearofelav
Member

Откуда:
Сообщений: 1
2king2,

вот пример добавления значений трех столбцов в TABLE1, в которой есть и VALUE4, и VALUE5

INSERT INTO TABLE1 ([VALUE1],[VALUE2],[VALUE3])
SELECT drvd.[VALUE1],drvd.[VALUE2],drvd.[VALUE3]
FROM (VALUES ('1','2','3')) drvd([VALUE1],[VALUE2],[VALUE3])
31 окт 19, 12:58    [22007065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить