Запрос с UNION и последующим JOIN
Ваша цель — создать тот же отчёт, что и раньше, содержащий следующие поля:
- season — выводит значение
summerилиwinter - country
- events — отображает уникальное количество событий
В этом упражнении создайте запрос, используя подход: сначала UNION, затем JOIN. При таком подходе исходный запрос UNION необходимо использовать как подзапрос. Подзапрос должен включать все нужные поля, в том числе те, которые участвуют в соединении.
При необходимости обращайтесь к диаграмме E:R.
Это упражнение является частью курса
Отчётность в SQL
Инструкции к упражнению
- В подзапросе составьте запрос, который выводит поля
season,country_idиevent, объединяя летние и зимние игры с помощьюUNION ALL. - Используйте
JOINи ещё один операторSELECT, чтобы отобразить поляseason,countryи уникальныеevents. - Добавьте в
GROUP BYвсе поля, не участвующие в агрегации. - Отсортируйте отчёт по полю
eventsв порядке убывания.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
-- Add outer layer to pull season, country and unique events
SELECT
____,
____,
____ AS events
FROM
-- Pull season, country_id, and event for both seasons
(SELECT
____ AS season,
____,
____
FROM ____
____
SELECT
____ AS season,
____,
____
FROM ____) AS subquery
JOIN ____ AS c
ON ____
-- Group by any unaggregated fields
GROUP BY ____
-- Order to show most events at the top
ORDER BY ____;