Question

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

Was it helpful?

Solution

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;

OTHER TIPS

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

For MySQL use:

INSERT INTO bar (id, type)
  SELECT foo.id
       , 'R'
  FROM foo
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top