因此,我正在制作一个模拟曲棍球联盟的网站。使用雄辩的复杂查询 - Laravel 4
我正在努力取得积分榜,这是它变得复杂的地方。
有2个会议。东和西。
在每个会议,有3个分割,对于举例的目的,让我们称之为A,B和C.
有每格5队,小组1,小组2,团队3,队4,Team 5.
因此,这里是棘手的地方。
积分榜由会议组成。举例来说,东西方各有不同的榜样。每个部门的顶级团队自动播种到会议的前三名。
例如,A组的第1组有5分,A组的第2组有4分,B组的第4组有4分(其余得分更少),C组第5组有3分(其余少了)。 积分榜排名如下: 1-球队1-积分-5分 2-球队4-B组-4-0积分 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 ::查询已被废弃,再加上,我想,因为这种相同的代码将被用于地方用雄辩其他。
感谢您的帮助! –