Pergunta

I'd like to add a value to the values provided by a SELECT INTO statement.

Given the table named foo:

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

I would like to populate the table bar with:

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

I'd imagine this looking something like this:

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

... unfortunately this doesn't work. Can anyone tell me how to do this please

I'm using both mysql and mssql

Foi útil?

Solução

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

In MySQL this would normally be done with:

Lazy with no indexes

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

Nicer way (assuming you've created table bar already)

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

Outras dicas

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

For MySQL use:

INSERT INTO bar (id, type)
  SELECT foo.id
       , 'R'
  FROM foo
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top