这就是我想要做的事情。
这是选择语句
select Id
from tblUsersPokemons
where UserId = 1 and PokemonPlace = 'bag'
现在我想将那些返回的ID插入另一个表中,如下所示:
foreach all returned Ids
insert into tblNpcBattleUsersPokemons values (Id, 1)
我该怎么做?
答案 0 :(得分:10)
像这样:
insert into tblNpcBattleUsersPokemons
select Id, 1 from tblUsersPokemons where UserId=1 and PokemonPlace='bag'
答案 1 :(得分:6)
这可以在单个sql调用中完成
insert into tblNpcBattleUsersPokemons (id, [whatever the name of the other column is])
select Id, 1 from tblUsersPokemons where UserId=1 and PokemonPlace='bag'
我在这里使用了longhand,因为它没有对目标表中列的排序做出任何假设,这可能会随着时间的推移而改变,并使insert语句无效。
答案 2 :(得分:1)
您可以使用INSERT ... SELECT语法将SELECT检索到的集合插入到另一个现有表中。
例如:
INSERT INTO tblNpcBattleUsersPokemons (Id, Val) -- not sure what the second column name was
SELECT Id FROM tblUsersPokemons WHERE UserID = 1 and PokemonPlace='bag';