Frage

Ich möchte den Werten, die eine ausgewählte Anweisung bereitgestellt haben, einen Wert hinzufügen.

Angesichts der Tabelle mit dem Namen Foo:

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

Ich möchte die Tischleiste mit:

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

Ich würde mir vorstellen, dass so etwas aussieht:

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

... Leider funktioniert das nicht. Kann mir jemand bitte sagen, wie das geht

Ich benutze sowohl MySQL als auch MSSQL

War es hilfreich?

Lösung

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

In MySQL würde dies normalerweise mit:

Faul ohne Indizes

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

Schönerer Weg (vorausgesetzt, Sie haben Tabelle erstellt bar schon)

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

Andere Tipps

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

Für die Verwendung von MySQL:

INSERT INTO bar (id, type)
  SELECT foo.id
       , 'R'
  FROM foo
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top