2009-02-19 70 views
0

是否有一種方法可以在給定查找值的情況下從sql server(.sql腳本)中插入動態行數併爲每個插入設置一列? 我想用不同的表中的每一行的外鍵附加一行。將動態行數插入SQL Server

例如:

table 1: 
1 j k l m n 2-(fk) 
2 j k l m n 3-(fk) 
3 k u y k l 2-(fk) 


table 2: 
2 hi you 
3 hey ho 

現在說我想2行從2表2和3

所以決賽桌看起來像添加到表1,與FK值:

table 1: 
1 j k l m n 2-(fk) 
2 j k l m n 3-(fk) 
3 k u y k l 2-(fk) 
4 a a a a a 3-(fk) 
5 a a a a a 2-(fk) 

用編程語言,這很容易。 Psuedo: 對於(表2中的行)DO 插入表1'a a a a rows.id'

這怎麼能在sql server中完成?

編輯:

的每一行表2中,得到它的ID,其設置成一排表1的FK,並將其插入。

回答

3
insert [table 1] 
select 'a','a',a','a','a', fk 
from [table 2] 
+0

道歉,評論刪除。我不明白你寫過什麼,直到我重讀。 – 2009-02-19 11:16:49

-1

好了,有人來了,給我的方式做到這一點...

insert into table_one 
select col1 = 'a', 
    col2 = 'b', 
    col3 = 'c', 
    col4fk, 
    col5 = 'k' 
from table2 

這只是從表2中選擇col4fk,只要它具有相同的名稱列表1.

+0

這實際上是同一個查詢我發佈...名稱限定插入列... select是無意義的,它使用列排序,如果你想確保排序,你可以指定插入到表(a,b,c)是對的 – 2009-02-19 05:51:52