sql >> Databasteknik >  >> RDS >> Sqlserver

infoga en kolumndata från en tabell i en annan tabell, men de andra kolumndata kommer att specificeras dynamiskt

Prova detta:

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

Två fakta möjliggjorde lösningen ovan:

  1. insert .. select satsen låter dig infoga de värden som returneras med valfri select .
  2. Du kan returnera konstanta värden som fält med select , som till exempel:

    SELECT 0 as id, 'John' as name
    

Genom att kombinera dessa två punkter använde jag en insert..select sats för att välja fältvärdet från den första tabellen (aid ), tillsammans med ett konstant värde för det andra fältet (m ). AS bname_fixed_val sats är helt enkelt ett fältalias och kan utelämnas.

För mer information om SQL, här är en länk:http://www8.silversand. net/techdoc/teachsql/index.htm , även om det inte skulle skada att googla.




  1. SQL-fel (1292):Trunkerat felaktigt DOUBLE-värde:'6893Order '

  2. Flera radvärden i en enda rad

  3. Hur du verifierar domänägande

  4. varför returnerar sum()-frågan resultat med fler decimaler?