sql >> Base de Datos >  >> RDS >> Sqlserver

inserte los datos de una columna de una tabla en otra tabla, pero los otros datos de la columna se especificarán dinámicamente

Prueba esto:

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

Dos hechos permitieron la solución anterior:

  1. El insert .. select cláusula le permite insertar los valores devueltos con cualquier select .
  2. Puede devolver valores constantes como campos con select , como por ejemplo:

    SELECT 0 as id, 'John' as name
    

Combinando estos dos puntos, usé un insert..select cláusula para seleccionar el valor del campo de la primera tabla (aid ), junto con un valor constante para el segundo campo (m ). El AS bname_fixed_val La cláusula es simplemente un alias de campo y se puede omitir.

Para obtener más información sobre SQL, aquí hay un enlace:http://www8.silversand. net/techdoc/teachsql/index.htm , aunque buscarlo en Google tampoco estaría de más.