sql >> Database teknologi >  >> RDS >> Sqlserver

indsæt én kolonnedata fra en tabel i en anden tabel, men de andre kolonnedata vil blive specificeret dynamisk

Prøv dette:

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

To fakta muliggjorde løsningen ovenfor:

  1. Vælg indsæt .. klausul giver dig mulighed for at indsætte de værdier, der returneres med enhver select .
  2. Du kan returnere konstante værdier som felter med vælg , som for eksempel:

    SELECT 0 as id, 'John' as name
    

Ved at kombinere disse to punkter brugte jeg en insert..select klausul for at vælge feltværdien fra den første tabel (aid ), sammen med en konstant værdi for det andet felt (m ). AS bname_fixed_val klausul er simpelthen et feltalias og kan udelades.

For mere information om SQL, her er et link:http://www8.silversand. net/techdoc/teachsql/index.htm , selvom google ville det heller ikke skade.




  1. Oracle sletter rækker fra flere tabeller

  2. Brug af npgsql 12 og ef 6 sammen - er der nogen, der er lykkedes med det?

  3. Hvordan tilføjer jeg to count(*) resultater sammen på to forskellige tabeller?

  4. MySQL:sammensat indeks fuldtekst+btræ?