2013-01-07 37 views
0

需要帮助,请参见下面的表结构:SQL Server 2005中 - 在一条语句从单个表值的多个查找

Table: MainData (see fields below) 

ID TypeId TypeName 
0 0 MAIN 
1 4 Test1 
2 4 Test2 
3 4 Test3 
4 4 Test4 
7 7 File1 
8 7 File2 
9 7 File3 
10 7 File4 
14 8 Database1 
15 8 Datebase2 
16 8 Database3 
17 8 Database4 

见下面的查询现在我敢strugling

INSERT INTO不是Temptable (Field1,Field2,Field3)值(Test1,File4,Database3)

Test1,File4,Database3 - 我已经得到这些字符串值传递给函数,现在必须得到他们的ID需要插入到可修改

所以那么下面的查询应该成为

INSERT INTO不是Temptable(字段1,字段2,字段3)VALUES(1,10,16)

1 - Test1 
10 - File4 
16 - Database3 

问候

回答

0
insert into temptable 
    select (select id from Maintable mt where mt.typename = 'test1'), 
      (select id from Maintable mt where mt.typename = 'File4'), 
      (select id from Maintable mt where mt.typename = 'Database3') 

注:该作品只有在Maintable中有任何给定值的零或一个条目。你可能想要使用typeid,但从你的问题中不清楚。

相关问题