我正在尝试查找名为“Jack”的玩家的 ID 以及他们玩过的游戏数量:
Select p.id, count(*) as numOfGamePlayed
from player p, game g
where p.name = 'Jack' and p.id = g.id
group by p.id;
问题是,这只会列出至少玩过一场游戏的名为 Jack 的玩家。我怎样才能列出那些没有玩过任何游戏的人?
编辑:对于那些玩家,numOfGamePlayed 必须为 0。如果我这样做
Select p.id, count(*) as numOfGamePlayed
from player p LEFT JOIN game g ON p.id = g.id
where p.name = 'Jack'
group by p.id;
没有玩过任何游戏的人仍然会显示 numOfGamePlayed 为 1