|
|
|
@ -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
|
|
|
|
|
)
|
|
|
|
|