У меня есть 2 таблицы:
Битвы
--battleId(primary)--gameId(foreign)--endTime
Участники битвы
--battleParticipantId(primary)--userId(foreign)--someNumerical--score--battleId(foreign)
Учитывая идентификатор пользователя, я хочу получить только битва закончилась данные для каждого участника битвы, участвующего в , с дополнительной информацией о ранге игрока и общим количеством игроков, участвовавших в битве, информация . Завершенная битва означает сражения только с endTime, меньшим, чем current_time
возвращенные данные битвы должны включать:
battleId:
endTime:
gameId:
score:
someNumerical:
rankOfPlayerInBattle:
totalNumberOfPlayersParticipatedInBattle:
для каждого участника сражения.
С помощью запроса ниже я могу получить battleId,endTime,gameId,score,someNumerical
, как я хочу:
SELECT b.battleId,b.endTime,b.gameId,bp.score,bp.someNumerical FROM battles b JOIN battleparticipants bp ON b.battleId=bp.battleId WHERE bp.userId="someuserid" AND b.endTime<CURRENT_TIMESTAMP
Учитывая battleId и userId этот запрос возвращает мне рейтинг пользователя в этой битве:
SET @i=0;
SELECT battleId, userId,score, @i:=@i+1 AS myRank
FROM battleparticipants WHERE battleId="asd1234" AND userId="someuserid"
ORDER BY score DESC
Учитывая данный BattleId, этот запрос дает мне общее количество игроков, участвовавших в этой битве:
SELECT COUNT(*) FROM battleparticipants WHERE battleId="asd1234"
Итак, учитывая эти отдельные запросы, как мне получить нужные данные в одном запросе? (Мне действительно не нужно использовать вышеупомянутые запросы, я просто привел их в качестве примера, поскольку они получают данные, которые я хочу отдельно)
Я не могу добавить скрипку, потому что по какой-то причине создание кода вызывает ошибку. сейчас я добавляю картинки таблиц и данных:
Таблица сражений: 
Таблица участников боевых действий: 
Ниже неправильный результат запроса: 