Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Daten einer Spalte aus einer Tabelle in eine andere Tabelle einfügen, aber die Daten der anderen Spalte werden dynamisch angegeben

Versuchen Sie Folgendes:

insert into b (bid, bname) select aid, 'm' as bname_fixed_val from a

Zwei Tatsachen ermöglichten die obige Lösung:

  1. Die insert .. select -Klausel können Sie die Werte einfügen, die mit einem beliebigen select zurückgegeben werden .
  2. Mit select können Sie konstante Werte als Felder zurückgeben , wie zum Beispiel:

    SELECT 0 as id, 'John' as name
    

Um diese beiden Punkte miteinander zu kombinieren, habe ich ein insert..select verwendet -Klausel, um den Feldwert aus der ersten Tabelle auszuwählen (aid ), zusammen mit einem konstanten Wert für das zweite Feld (m ). Der AS bname_fixed_val -Klausel ist einfach ein Feldalias und kann weggelassen werden.

Weitere Informationen zu SQL finden Sie hier:http://www8.silversand. net/techdoc/teachsql/index.htm , obwohl Googeln auch nicht schaden würde.