そこで、シミュレートされたホッケー リーグの Web サイトを作成しています。
私は順位を上げようとしていますが、ここが複雑なところです。
2つの会議があります。東と西。
各会議には 3 つの部門があり、例として A、B、C とします。
部門ごとに、チーム 1、チーム 2、チーム 3、チーム 4、チーム 5 の 5 チームがあります。
ここが難しいところです。
順位は会議によって作られます。たとえば、東と西には別の順位があります。各ディビジョンの上位チームは、カンファレンスの上位 3 位に自動的にシードされます。
たとえば、ディビジョン A のチーム 1 は 5 ポイント、ディビジョン A のチーム 2 は 4 ポイント、ディビジョン B のチーム 4 は 4 ポイント (残りは減点)、ディビジョン C のチーム 5 は 3 ポイント (残りは減点) を持っています。1- チーム 1 - ディビジョン A - 5 ポイント 2- チーム 4 - ディビジョン B - 4 ポイント 3- チーム 5 - ディビジョン C - 3 ポイント 4- チーム 2 - ディビジョン A - 4 ポイント ...
私が持っているコードは次のとおりです。
$teams_east = DB::query("SELECT a.*, (CASE WHEN b.scoreMax IS NULL THEN 1 ELSE 2 END) AS SortFiddle
FROM (SELECT teams.*, teamdetails.division, ((`nhl_wins` *2) + `nhl_ot` + `nhl_ties`) AS scoreMax
FROM teams
LEFT JOIN teamdetails ON teams.team_name = teamdetails.pro_name
WHERE teamdetails.conference ='Est' ) a
LEFT OUTER JOIN
(SELECT division, MAX((`nhl_wins` *2) + `nhl_ot` + `nhl_ties`) AS scoreMax
FROM teams
LEFT JOIN teamdetails ON teams.team_name = teamdetails.pro_name
WHERE teamdetails.conference ='Est' GROUP BY division ORDER BY `nhl_wins`,scoreMax LIMIT 3) b
ON a.division = b.division
AND a.scoreMax = b.scoreMax
ORDER BY SortFiddle DESC, a.scoreMax DESC, `nhl_wins` DESC, nhl_gf DESC, nhl_ga ASC");
しかし、DB::query は非推奨であり、さらに、この同じ種類のコードが別の場所で使用されるため、雄弁を使用したいと考えています。