SQL问题相当简单:游戏中有多少玩家[已关闭]

SQL question rather simple : how many players in games [closed]

提问人:Jeremie 提问时间:11/16/2023 最后编辑:marc_sJeremie 更新时间:11/17/2023 访问量:30

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

3天前关闭。

我的SQL变得非常生疏,恐怕我需要一点帮助......

表格如下(名称和列):

桌面游戏(只是游戏)

identifier

牌桌容量(游戏需要多少玩家)

game_identifier     value

牌桌分配(将玩家分配到游戏中)

game_identifier     player_identifier

我想要一个清单:

 /game identifier/
 /number of players allocated to the game/
 /capacity.value/

(对于该游戏,分配了这个玩家数量,这个容量容量=所需的玩家数量)

(因此,如果第二个是 >= 第三个,则游戏已准备好开始)

我尝试了下面的代码,它正确吗?

select 
    games.identifier, 
    count(*), 
    capacities.value 
from 
    games 
join 
    allocations on allocations.game_id = games.identifier,
join 
    capacities on capacities.game_id = games.identifier 
group by 
    identifier

我离正确的解决方案还有多远?

感谢您的帮助。这不是家庭作业:)

SQL 联接 选择 计数

评论

0赞 Thorsten Kettner 11/16/2023
为什么容量与游戏是分开的?一个游戏可以有多个容量吗?这意味着什么?
1赞 Thorsten Kettner 11/16/2023
“我尝试了下面的代码” - 结果是什么?查询是否运行?你得到预期的结果了吗?
1赞 Thorsten Kettner 11/16/2023
您使用的是什么 DBMS?
0赞 jarlh 11/17/2023
您通常与您相同的列 - 除了那些作为聚合函数参数的列。GROUP BYSELECT
0赞 jarlh 11/17/2023
JOIN 和 GROUP BY 可能很棘手,具体取决于在加入之前可能需要在子 qeury 中 GROUP BY 的关系。

答:

0赞 Jeremie 11/17/2023 #1

非常抱歉。 实际上,SQL代码有效,错误在其他地方。 感谢所有获得的支持。:-)

(最后一个逗号仍然需要删除)