SELECT CAST(round.event_id AS TEXT) || ':' || CAST(round.id AS TEXT) || ':' || COALESCE(CAST(stats.user_profile_id AS TEXT), 'summary') AS eventRecordId, CAST(round.event_id AS TEXT) AS eventId, CAST(round.id AS TEXT) AS roundId, CAST(stats.user_profile_id AS TEXT) AS userProfileId, round.start_time AS startTime, round.end_time AS endTime, CASE WHEN round.end_time IS NULL OR round.end_time = '' THEN 'active' ELSE 'finished' END AS state, stats.score AS score, stats.enemy_kills AS enemyKills, stats.team_kills AS teamKills, stats.deaths AS deaths, stats.assists AS assists, stats.headshots AS headshots FROM event_round round LEFT JOIN event_round_stats stats ON stats.round_id = round.id WHERE (:eventId IS NULL OR CAST(round.event_id AS TEXT) = :eventId) AND (:userProfileId IS NULL OR CAST(stats.user_profile_id AS TEXT) = :userProfileId) ORDER BY round.id DESC, stats.score DESC LIMIT COALESCE(:limit, 500)