我有这些表:
连接表:
基本上每场比赛我都想看到球队的数量和球员的数量。
游戏名称 - 团队数量 - 玩家数量
使用内连接,我设法与团队而不是玩家一起加入游戏。我相信它涉及多个选择语句?
答案 0 :(得分:2)
您可以在 games
连接表的帮助下连接 teams
和 games_teams
。然后,您可以将其与 teams_players
结合以获取玩家 ID。请注意,对于此查询,您甚至不需要 players
表,因为您只需要它们的编号:
SELECT game_name,
COUNT(DISTINCT gt.team_id) AS number_of_teams,
COUNT(DISTINCT tp.player_id) AS number_of_players
FROM games g
JOIN games_teams gt on g.game_id = gt.game_id
JOIN teams t ON gt.team_id = t.team_id
JOIN teams_players tp ON t.team_id = tp.team_id
GROUP BY game_name