2013-08-28 86 views
0

所以..我希望有一個查詢使用一個查詢創建多個行。說我想是這樣的用一個查詢插入具有不同數據的多行

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)); 

任何想法,我可以做到這一點與一個查詢?

+0

是 'VAL1' 和 'VAL2' 總是相同的每一行?他們在一個單獨的桌子嗎? –

+0

是的。他們應該是每行都是一樣的 – serengeti12

回答

1

是的,這是可能的:如果你的val1val2是不變的,則:

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

試試這個:

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

如何像

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

看一看at SQL INSERT INTO SELECT Statement

1

你就近了。但是,不要使用關鍵字值,請選擇常量。像這樣的東西。

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

使用INSERT FROM - 看看這個鏈接here

相關問題