私はこれらのテーブルを持っています(いくつかのサッカーテーブル)
- リーグ:ID、名前
- チーム:Id、Name、IdLeague
- ステージ:Id、Number、IdLeague
- 一致:Id、IdStage、Date、IdTeam1、IdTeam2、Team1Score、Team2Score
私の目標は、いくつかのリーグのランキングを計算することです。
ポジション、TeamName、Wins、Draws、Defeats、GoalsScored、GoalsConceded、Points(3 * WIns + Draws)。
2つのチームが同じポイント数を持っている場合、より多くの可能性があります(チームAとチームB)
- ゲームチームAとチームBがあったが、ゲームチームBとチームAがなかった場合は、ゴールの差が大きいチーム(GoalsScored-GoalsConceded)が有利です。
- 彼らがリーグでお互いに両方のゲームをプレイした場合、その2つのゲームでより多くのポイントを持つチームが有利です。それらの2つのゲームで同じ数のポイントを獲得した場合、それらの2つのゲームでより良いゴール差を持つチームです。有利に
- 2)との差が同じである場合、これら2つの直接試合で得点が多いチームが有利です。
- 3)決定できない場合は、リーグでゴール差の大きいチームが勝ちます
- 4)決定できない場合、リーグで得点したゴールが多いチームが勝ちます
- 5)決定できない場合、..私は知りません:)
リーグテーブル:3〜4行あります
チームテーブル:60〜80行(20チーム/リーグ)ステージテーブル:114〜152行(38ステージ/リーグ)
一致テーブル:1149〜 1520行(10試合/ステージ)
SQLサーバーで1つのリーグのすべての集計を作成するか、そのリーグからすべての一致を選択してサーバーですべての計算を行う方がよいでしょうか。
そのランキングは1つの選択で計算できますか?