何度も試してみましたがうまくいかなかったので、誰かが私のテーブルに適したクエリを見つけるのを手伝ってくれれば幸いです。
2 に答える
MySQL は最初は難しく、混乱する可能性があるため、ここで少し休憩します。これらのクエリがどのように機能するかを調査する必要があります。SQL を勉強している場合: 私が個人的に最も効果的に学習する方法は、さまざまな種類の SQL クエリについて考えさせられる多くの演習を行うことです。
両チームの選手名
両方のゲームチームのすべてのプレーヤーを名前で表示するにはどうすればよいですか?
ゲームではなくチームを意味すると仮定します。ゲームが与えられた場合、次のようにします。
SELECT Player.team_id AS team_id,
Player.player_name AS player_name
FROM Player
INNER JOIN Game
ON (
(Game.Home_team_id = Player.team_id)
OR (Game.Guest_team_id = Player.team_id))
WHERE Game.game_id = [YOUR GAME ID];
これにより、次のような結果が生成されます。
team_id player_name
1 John Smith
1 Jane Doe
2 John Person
勝利数の多いチーム
他のチームよりも多くの勝利を収めているチームを見つけるにはどうすればよいですか?
誰が勝ったかについて何も書かれていないように見えるので、そのようなクエリの書き方を教えることはできません。スコア フィールドは 1 つだけで、何が含まれているかわかりません。作業に使用できるデータに応じてクエリが根本的に異なるように見えるため、実際にはそれを一周することはできません。また、仮定を立てるのは好きではありません (両者にとって時間の無駄になる可能性があります)。
たとえば、JSON や XML データ、または一連のスコアを含むその他のデータ形式が含まれている場合は、それを独自のセルに分割する必要があります。たとえば、スコアの JSON コレクションのように、テーブル セル内にデータのコレクションを格納することは問題ありません。クエリを実行する必要がない限りは問題ありません。クエリが必要になると、それは混乱に変わり、そのような状況を回避する必要があります。