データベースは非常に簡単です。以下は、この質問小さなサッカーリーグのためのモデリングデータベース
ROUND(
round_id, round_number
)TEAM(
team_id, team_name
)MATCH(
match_id, match_date, round_id
)アウトカム(
team_id, match_id, score
)に関連するスキーマの一部があります
私は、再生されたすべての試合のデータを取得するためのクエリに問題があります。以下の簡単な質問はもちろん、試合ごとに2つの行が表示されます。私は1つの行のマッチデータを持つようにクエリを記述する必要がありどのように
select *
from round r
inner join match m on m.round_id = r.round_id
inner join outcome o on o.match_id = m.match_id
inner join team t on t.team_id = o.team_id
?
- MATCH(
match_id, match_date, team_away, team_home, score_away, score_home
):このように見えるようにOUTCOME
テーブルをドロップし、MATCH
テーブルを変更 -それとも私は、データベースを再設計する必要がありますか?
これはかなり難しいでしょう。別々にする理由がない限り、おそらくMATCHテーブルに結果を保存するのが最も簡単でしょう。少なくとも、「OUTCOME」テーブルのホーム/アウェイフラグなどは、物事を大幅に単純化します。 – jswolf19