我正在尝试从游戏表中获取数据以及是否所有玩家都已注册可用的比赛(是/否)可用的比赛是日期是当前或将来的比赛
游戏玩家
(PK)Gamer_Id
Gamer_firstName,
Gamer_lastName,
Gamer experience(Y/N)
Game_matches
(PK)FK GamerId,
(PK)FK MatchId,
Gamer_score
匹配
(PK)Match_Id,
gameDate,
ExperiencedGamers_needed,
InExperiencedGamers_needed
这是我尝试过的,我知道它不完整。我还需要使用 CASE 吗?
SELECT G.*, COUNT(M.`matchId`)
FROM game_matches GM
LEFT JOIN MATCHES M
ON M.`matchId` = GM.`matchId`
LEFT JOIN Gamers G ON G.`userId` = GM.`userId`
WHERE G.`gameDate` >= DATE(NOW())
GROUP BY G.`userId`
除了使用 JW 的交叉连接解决方案之外,还有其他方法可以实现这一目标吗?