Добавление данных из одной таблицы в другую

#sql #sql-server #tsql #sql-insert

#sql #sql-сервер #tsql #sql-вставка

Вопрос:

Я table1 выгляжу так:

 col1   col2   col3
-------------------
foo    bar    baz
lorem  ipsum  dolor
 

И table2 выглядит как:

 col1     col2   col3     col4   col5
-----------------------------------------
sitting  onthe  dock     ofthe  bay
heard    it     through  the    grapevine
 

Я хочу импортировать все данные из table1 в table2 :

 col1     col2   col3     col4   col5
-----------------------------------------
sitting  onthe  dock     ofthe  bay
heard    it     through  the    grapevine
foo      bar    baz
lorem    ipsum  dolor
 

Обычно, если структура данных одинакова, я бы использовал приведенное ниже, но здесь это не работает (очевидно).

 select * into table2 from table1
 

Каков правильный способ импорта в этом случае?

Комментарии:

1. Используйте INSERT оператор, а не INTO предложение. Быстрый поиск покажет вам, как использовать синтаксис; это фундаментальная часть SQL.

2. Также, если вы попытались INTO , это не сработало бы (очевидно ;)), поскольку table2 уже существует; INTO предложение как создает таблицу, так и вставляет данные. Если таблица уже существует, оператор завершается ошибкой.

Ответ №1:

Вам нужно будет указать столбцы с помощью Insert INTO

 Insert Into table2 (col1,col2,col3)
Select col1,col2,col3
  From table1
 

Комментарии:

1. И явное указание столбцов для an INSERT в любом случае обычно считается общепринятой наилучшей практикой — так что привыкайте делать это — всегда 🙂