LoslegenKostenlos loslegen

UNION- und dann JOIN-Abfrage

Dein Ziel ist es, denselben Bericht wie zuvor zu erstellen, der die folgenden Felder enthält:

  • season, gibt entweder summer oder winter aus
  • 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

Kurs anzeigen

Anleitung zur Übung

  • Erstelle in der Unterabfrage eine Abfrage, die season, country_id und event ausgibt, indem du Sommer- und Winterspiele mit UNION ALL kombinierst.
  • Nutze einen JOIN und eine weitere SELECT-Anweisung, um die Felder season, country und eindeutige events anzuzeigen.
  • GROUP BY für alle nicht aggregierten Felder.
  • Sortiere den Bericht nach events in 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 ____;
Code bearbeiten und ausführen