Я пытаюсь сопоставить данные между двумя таблицами, используя одинаковые значения из основного запроса в подзапросе. Я использую 3 таблицы для этого:
Мир - область мира, в которой был игрок
Player - фактический игрок
Уничтоженные объекты - просто таблица статистики, используемая для отслеживания прогресса игрока в мире
То, что я пытаюсь сделать, - это создать запрос, который отображает игру и мир, в котором они находились, и подсчитывает все объекты, которые они уничтожили в этом мире. Мой запрос в настоящее время выглядит так:
select
world_id,
world_name,
player_id
count(select * from objects_destoryed where player_id = <insert player ID>) as Stats
from
Worlds
join Players using (player_id)
where
player_id = <insert player ID>
Я спрашиваю, есть ли лучший способ, а не включать идентификатор игрока дважды, чтобы получить общую статистику. Также есть способ, которым я могу расширить это, чтобы работать на нескольких игроках, которые были в этом мире? Например, использование player_id в заявлении.
Спасибо за любой совет