diff --git a/src/views.rs b/src/views.rs index 9cc0bf3..3b6f6a7 100644 --- a/src/views.rs +++ b/src/views.rs @@ -341,81 +341,6 @@ SELECT FROM team_points_view WHERE division_id=$1 GROUP BY team_id; ---WITH team_name AS ( --- SELECT --- teams.id AS team_id, --- -- max will get the first matching string; technically it will always get the string that that has the maximum value based on the locale, ignoring nulls. --- COALESCE( --- MAX(localized_name.name), --- MAX(default_name.name), --- MAX(any_name.name) --- ) AS team_name, --- -- this is to get the language id of the team name; although not strictly necessary, since we use MIN(...), then ORDER BY it later on, we prioritize languages that have been added earlier, making this table deterministic --- COALESCE( --- MIN(localized_name.language), --- MIN(default_name.language), --- MIN(any_name.language) --- ) AS name_language --- FROM teams --- LEFT JOIN team_names localized_name ON localized_name.team = teams.id AND localized_name.language = $2 --- LEFT JOIN team_names default_name ON default_name.team = teams.id AND default_name.language = 1 --- LEFT JOIN team_names any_name ON any_name.team = teams.id --- GROUP BY teams.id --- ORDER BY name_language ---) ---SELECT --- SUM(reg_win(games.id, teams.id)) AS reg_wins, --- SUM(reg_loss(games.id, teams.id)) AS reg_losses, --- SUM(ot_win(games.id, teams.id)) AS ot_wins, --- SUM(ot_loss(games.id, teams.id)) AS ot_losses, --- SUM(tie(games.id, teams.id)) AS ties, --- SUM(iihf_points(games.id, teams.id)) AS points, --- teams.id AS team_id, --- team_name.team_name ---FROM --- games ---JOIN teams ON teams.id=games.team_home OR teams.id=games.team_away ---JOIN team_name ON team_name.team_id=teams.id ---WHERE games.division=$1 ---GROUP BY --- teams.id, --- team_name.team_name ---ORDER BY --- points DESC; - ---SELECT DISTINCT ON (teams.id) --- SUM(reg_win(games.id, teams.id)) AS reg_wins, --- SUM(reg_loss(games.id, teams.id)) AS reg_losses, --- SUM(ot_win(games.id, teams.id)) AS ot_wins, --- SUM(ot_loss(games.id, teams.id)) AS ot_losses, --- SUM(tie(games.id, teams.id)) AS ties, --- SUM(iihf_points(games.id, teams.id)) AS points, --- teams.id AS team_id, --- COALESCE( --- localized_name.name, --- default_name.name, --- any_name.name --- ) AS team_name ---FROM --- games ---JOIN teams ON teams.id=games.team_home OR teams.id=games.team_away ---LEFT JOIN team_names localized_name --- ON localized_name.team = teams.id --- AND localized_name.language = $2 ---LEFT JOIN team_names default_name --- ON default_name.team = teams.id --- AND default_name.language = 1 ---LEFT JOIN team_names any_name --- ON any_name.team = teams.id ---WHERE games.division=$1 ---GROUP BY --- teams.id, --- localized_name.name, --- default_name.name, --- any_name.name ---ORDER BY --- teams.id, --- points DESC; "#, division_id, lang )