Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

insira os dados de uma coluna de uma tabela em outra tabela, mas os dados da outra coluna serão especificados dinamicamente


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

Dois fatos possibilitaram a solução acima:
  1. A insert .. select cláusula permite que você insira os valores retornados com qualquer select .

  2. Você pode retornar valores constantes como campos com select , como por exemplo:
    SELECT 0 as id, 'John' as name
    

Combinando esses dois pontos, usei um insert..select cláusula para selecionar o valor do campo da primeira tabela (aid ), juntamente com um valor constante para o segundo campo (m ). O AS bname_fixed_val cláusula é simplesmente um alias de campo e pode ser omitida.

Para obter mais informações sobre SQL, aqui está um link:http://www8.silversand.net/techdoc/teachsql/index.htm">http://www8.silversand.net/techdoc/teachsql/index.htm". net/techdoc/teachsql/index.htm , embora pesquisar no Google não faria mal também.