使用一个查询插入具有不同数据的多行

时间:2013-08-28 11:48:40

标签: sql

所以..我想要一个用一个查询创建多行的查询。说我想要这样的东西

Row 1: col1 = 'val1', col2 = 'val2', col3 = 'val3'
Row 2: col1 = 'val1', col2 = 'val2', col3 = 'val4'
Row 2: col1 = 'val1', col2 = 'val2', col3 = 'val5'

其中

val3,val4,val5

由子查询返回。我在想像

insert into  table_name (col1, col2, col3) values ('val1', val2, (select column_name from table_two where condition));

如何通过一个查询来解决这个问题?

5 个答案:

答案 0 :(得分:1)

是的,有可能:如果您的val1val2不变,那么:

insert into table_name (col1, col2, col3) select 'val1', 'val2', column_name from table_two where condition;

答案 1 :(得分:1)

试试这个:

INSERT INTO table_name 
    (col1, col2, col3) 
SELECT
    'val1', 'val2', column_name 
FROM table_two 
WHERE condition;

答案 2 :(得分:1)

这样的东西
insert into  table_name (col1, col2, col3)
SELECT 'val1','val2',column_name 
from table_two 
where condition

查看SQL INSERT INTO SELECT Statement

答案 3 :(得分:1)

你很亲密。但是,不要使用关键字值,而是选择常量。这样的事情。

insert into table2
(field1, field2, field3)
select 'fred', 'barney', SomeField
from table1
where whatever.

答案 4 :(得分:0)

使用INSERT FROM - 查看此链接here