Я занимаюсь разработкой простой игры-викторины, и у меня возникают трудности при создании запроса SQL (SQL Server 2016). У меня есть следующие связанные таблицы:
[Авторы]
ID
Имя
[Викторины]
ID
AuthorID (указывает на ID в [Авторы])
[QuizGames]
ID
QuizID (указывает на идентификатор в [Quizzes])
[GamesPlayed]
ID
QuizGameID (указывает на ID в [QuizGames])
[Игроки]
ID
GamePlayedID (указывает на ID в [GamesPlayed) ])
DatePlayed
Учитывая идентификатор автора (в первой таблице) Мне нужно получить общее количество игроков (последняя таблица) для всех его игр, сыгранных за последние 6 месяцы. Например, мне нужна хранимая процедура / запрос, который возвращает меня:
Feb2020 Jan2020 Dec2019 Nov2019 Oct 2019 Sep2019
1404 2512 6521 1421 2150 1120
В основном мне нужно получить идентификатор автора из первой таблицы, а затем найти все тесты, которые он создал во второй таблицы, затем найдите все игры (в 3-й таблице), созданные с помощью его викторин, затем найдите все игры (в 4-й таблице), сыгранные с его играми, а затем найдите игроков (в последней таблице, сгруппированной по последние 6 месяцев) которые играли в его игры.
Как мне этого добиться?