Как ВСТУПИТЬ НА mysql строк, которые не существуют в течение определенного года? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть две таблицы, я перечислю имена таблиц и соответствующие поля:

PLAYERS:
playerid

STATS:
statsid
playerid
year

Каждый раз, когда игрок накапливал статистику в игре, он помещал строку в таблицу stats и записывал год.

Теперь я хотел бы получить список всех игроков в таблице players, которые НЕ записали какую-либо статистику в 2016 году и более поздних версиях.

Я пытался LEFT JOIN, но не действительно понимаю, что я делаю, и не могу заставить его работать. Это одна из вещей, которые я попробовал, не смейтесь

SELECT * FROM `players` LEFT JOIN `stats` ON players.playerid = stats.playerid where count(*) = 0 and stats.year >= 2016

1 Ответ

2 голосов
/ 29 апреля 2020

Похоже, вы не знаете, грамматика существует , например:

select * 
from players p 
where not exists (select 1 
                  from stats s 
                  where s.playerid = p.playerid
                    and s.year >= 2016)

показывает игроков, которых в те годы не было в таблице статистики, легко понять и помню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...