Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

insérer les données d'une colonne d'une table dans une autre table, mais les autres données de colonne seront spécifiées dynamiquement

Essayez ceci :

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

Deux faits ont permis la solution ci-dessus :

  1. Le insert .. select La clause vous permet d'insérer les valeurs renvoyées avec n'importe quel select .
  2. Vous pouvez renvoyer des valeurs constantes sous forme de champs avec select , comme par exemple :

    SELECT 0 as id, 'John' as name
    

En combinant ces deux points ensemble, j'ai utilisé un insert..select clause pour sélectionner la valeur du champ de la première table (aid ), ainsi qu'une valeur constante pour le second champ (m ). Le AS bname_fixed_val La clause est simplement un alias de champ et peut être omise.

Pour plus d'informations sur SQL, voici un lien :http://www8.silversand. net/techdoc/teachsql/index.htm , même si googler ne ferait pas de mal non plus.