UNION- und dann JOIN-Abfrage
Dein Ziel ist es, denselben Bericht wie zuvor zu erstellen, der die folgenden Felder enthält:
- season, gibt entweder
summeroderwinteraus - country
- events, zeigt die eindeutige Anzahl der Events
Erstelle in dieser Übung die Abfrage mit dem Ansatz „zuerst UNION, danach JOIN“. Bei diesem Ansatz musst du die anfängliche UNION-Abfrage als Unterabfrage verwenden. Die Unterabfrage muss alle relevanten Felder enthalten, einschließlich derer, die in einem Join verwendet werden.
Wie immer kannst du gern das E:R-Diagramm als Referenz heranziehen.
Diese Übung ist Teil des Kurses
Reporting in SQL
Anleitung zur Übung
- Erstelle in der Unterabfrage eine Abfrage, die
season,country_idundeventausgibt, indem du Sommer- und Winterspiele mitUNION ALLkombinierst. - Nutze einen
JOINund eine weitereSELECT-Anweisung, um die Felderseason,countryund eindeutigeeventsanzuzeigen. GROUP BYfür alle nicht aggregierten Felder.- Sortiere den Bericht nach
eventsin absteigender Reihenfolge.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- 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 ____;