我有兩個看起來像這樣的表:
game(ID,標題,位置)gamePlayers(玩家型別,游戲 ID)
gamePlayers通過以下查詢,我可以看到我的表中有 90 個游戲沒有相應的 ID :
SELECT *
FROM dbo.game
WHERE id NOT IN (SELECT gameId FROM dbo.gamePlayers)
所以我想為丟失的游戲創建條目,并為 增加值“1”,playerType為gameId.
所以我試過這個:
INSERT INTO dbo.gamePlayers
SELECT 1, p.id
FROM dbo.game p
WHERE p.id NOT IN (SELECT gameId FROM dbo.gamePlayers)
但它根本不插入任何東西。
不應該插入 90 行嗎?
謝謝!
uj5u.com熱心網友回復:
下面的輕微重構對你有用嗎?
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/374180.html
標籤:sql sql-server 查询语句 sql-server-2012
上一篇:生成范圍內的亂數字、字母或字符
