Как использовать SELECT INTO с включенными статическими значениями?

#mysql #sql #sql-server #select-into

#mysql #sql #sql-сервер #select-into

Вопрос:

Я хотел бы добавить значение к значениям, предоставленным оператором SELECT INTO.

Учитывая таблицу с именем foo:

  ---- 
| id |
 ---- 
| 1  |
| 2  |
| 3  |
 ---- 
  

Я хотел бы заполнить строку таблицы с:

  ---- ------ 
| id | type |
 ---- ------ 
| 1  | R    |
| 2  | R    |
| 3  | R    |
 ---- ------ 
  

Я бы предположил, что это выглядит примерно так:

 SELECT foo.id, type INTO bar FROM foo LEFT JOIN 'R' AS type;
  

… к сожалению, это не работает. Кто-нибудь может сказать мне, как это сделать, пожалуйста

Я использую как mysql, так и mssql

Ответ №1:

 SELECT foo.id, 'R' AS type INTO bar FROM foo;
  

В MySQL это обычно делается с помощью:

Ленивый без индексов

 CREATE TABLE bar SELECT id, 'R' AS type FROM foo;
  

Более удобный способ (при условии, что вы уже создали таблицу bar )

 INSERT INTO bar SELECT id, 'R' AS type FROM foo;
  

Ответ №2:

 SELECT foo.id
     , 'R'
INTO bar (id, type)
FROM foo
  

Для использования MySQL:

 INSERT INTO bar (id, type)
  SELECT foo.id
       , 'R'
  FROM foo