2014-09-19 118 views
2

我有2个表,我要寻找这样的查询:插入表中多个值,其中一个值从另一个表

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

这可能吗?

我遇到的所有示例都是为了将​​一个表中的所有值插入到另一个表中,所以SQL语句没有values (...)部分。

回答

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...

所有我在你的情况下所做的是用第二种形式和硬编码的前两个中的值。

相关问题