ゲームテーブルからデータを取得しようとしており、すべてのゲーマーが利用可能な試合にサインアップしているかどうか (はい/いいえ) 利用可能な試合は、日付が現在または将来のものです
ゲーマー
(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 のクロス結合ソリューションを使用する以外に、これを実現する方法はありますか?