Tente isto:
insert into b (bid, bname) select aid, 'm' as bname_fixed_val from a
Dois fatos possibilitaram a solução acima:
- A
insert .. select
cláusula permite que você insira os valores retornados com qualquerselect
. -
Você pode retornar valores constantes como campos comselect
, 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.