在表中插入多个值,其中一个值来自另一个表

时间:2014-09-19 22:13:31

标签: sql

我有2个表,我正在寻找这样的查询:

insert into table1 (col1,col2,col3) 
values (11, 23, VAL) select VAL from table2 where id='4'

这可能吗?

我遇到的所有示例都是将所有值从一个表插入另一个表,因此SQL语句没有values (...)部分。

1 个答案:

答案 0 :(得分:2)

带有select的插入,硬编码前两列的值。

insert into table1 (col1,col2,col3) 
select 11, 23, VAL 
from 
  table2 
where id='4'

因为您似乎对这两者感到困惑,所以还有一些其他信息。

插入可以采用两种形式。

  1. 带有值的插入。
    1. insert into table1 (col1, col2, col3) values ('val1', 'val2', val3')
  2. 带有选择的插入。
    1. insert into table1 (col1, col2, col3) select col1, col2, col3, from table2 where...
  3. 我所做的所有事情都是使用第二种形式,并对前两列的值进行硬编码。