)
AND playmode=$3
ORDER BY feetrating DESC LIMIT 1
- ) * 1000 AS max_score FROM tournamentparticipation;
+ ) * 1000 AS max_score FROM tournamentparticipation WHERE tournament=$1;
$$
LANGUAGE SQL
STABLE
IF ts.song IS NOT NULL THEN
ret.max_score := ret.max_score + ( SELECT max_score FROM get_max_score_for_songs($1, $4) WHERE song=ts.song );
ELSE
- ret.max_score := ret.max_score + ( SELECT max_score FROM get_max_score_for_players($1, $4) WHERE song=tp.player );
+ ret.max_score := ret.max_score + ( SELECT max_score FROM get_max_score_for_players($1, $2, $4) WHERE song=tp.player );
END IF;
END IF;
END LOOP;
FOR tp IN SELECT * FROM temp_minmax LOOP
ret.player = tp.player;
- ret.best_rank = 1 + ( SELECT COUNT(*) FROM temp_minmax WHERE min_score >= tp.max_score AND player<>tp.player);
- ret.worst_rank = 1 + ( SELECT COUNT(*) FROM temp_minmax WHERE max_score > tp.min_score AND player<>tp.player );
+ ret.best_rank = 1 + ( SELECT COUNT(*) FROM temp_minmax WHERE min_score > tp.max_score AND player<>tp.player);
+ ret.worst_rank = 1 + ( SELECT COUNT(*) FROM temp_minmax WHERE max_score >= tp.min_score AND player<>tp.player );
RETURN NEXT ret;
END LOOP;