これが私がやろうとしていることです。
これはselectステートメントです
select Id
from tblUsersPokemons
where UserId = 1 and PokemonPlace = 'bag'
次に、返されたIDを次のような別のテーブルに挿入します。
foreach all returned Ids
insert into tblNpcBattleUsersPokemons values (Id, 1)
どうやってやるの ?
これが私がやろうとしていることです。
これはselectステートメントです
select Id
from tblUsersPokemons
where UserId = 1 and PokemonPlace = 'bag'
次に、返されたIDを次のような別のテーブルに挿入します。
foreach all returned Ids
insert into tblNpcBattleUsersPokemons values (Id, 1)
どうやってやるの ?
このような:
insert into tblNpcBattleUsersPokemons
select Id, 1 from tblUsersPokemons where UserId=1 and PokemonPlace='bag'
これは、単一の SQL 呼び出しで実行できます。
insert into tblNpcBattleUsersPokemons (id, [whatever the name of the other column is])
select Id, 1 from tblUsersPokemons where UserId=1 and PokemonPlace='bag'
ここでロングハンドを使用したのは、時間の経過とともに変更され、insert ステートメントが無効になる可能性がある宛先テーブルの列の順序について想定していないためです。
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';