我的插入语句没有插入任何行

My insert statement is not inserting any rows

我有两个 table 看起来像这样:

我可以看到我有 90 个游戏在我的 gamePlayers table 中没有相应的 id 与此查询:

SELECT * 
FROM dbo.game
WHERE id NOT IN (SELECT gameId FROM dbo.gamePlayers)

所以我想为丢失的游戏创建条目并为 playerType 添加值“1”,为 gameId 添加游戏 ID。

所以我尝试了这个:

INSERT INTO dbo.gamePlayers
    SELECT 1, p.id 
    FROM dbo.game p
    WHERE p.id NOT IN (SELECT gameId FROM dbo.gamePlayers)

但是它根本没有插入任何东西。

它不应该插入 90 行吗?

谢谢!

以下轻微重构对您有用吗?

insert into dbo.gamePlayers(playerType, gameId)
select 1, p.id 
from dbo.game p
where not exists (select * from gamePlayers gp where gp.gameId=p.Id)