Aan de slagBegin gratis

Albums die de verkoop aanjagen

Je directeur kwam vandaag langs je bureau met inside info over een feestdagenactie voor "Greatest Hits"-albums die binnenkort live gaat. Om zeker te zijn dat de juiste albums korting krijgen, wil ze weten welke "Greatest Hits"-albums de meeste verkoop opleveren. Jij gaat al je skills inzetten om dit uit te zoeken!

Deze oefening maakt deel uit van de cursus

Gegevens manipuleren in Snowflake

Bekijk cursus

Oefeninstructies

  • Definieer een CTE met de naam album_map.
  • Maak een CASE-instructie die TRUE teruggeeft als greatest in de albumtitel staat en anders FALSE, en geef dit de alias is_greatest_hits.
  • Werk de CTE trimmed_invoicelines bij door de tabellen invoice en tracks met invoicelines te LEFT JOINen op respectievelijk invoice_id en track_id.
  • Gebruik een subquery om alleen "Greatest Hits"-albums terug te geven.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

-- Define an album_map CTE to combine albums and artists
___ (
    SELECT
        album.album_id, album.title AS album_name, artist.name AS artist_name,
  		-- Determine if an album is a "Greatest Hits" album
        ___ 
            ___ album_name ILIKE '%greatest%' ___ TRUE
            ELSE FALSE
        ___ AS ___
    FROM store.album
    JOIN store.artist ON album.artist_id = artist.artist_id
), trimmed_invoicelines (
    SELECT
        invoiceline.invoice_id, track.album_id, invoice.total
    FROM store.invoiceline
    LEFT JOIN store.invoice ON invoiceline.invoice_id = invoice.invoice_id
    LEFT JOIN store.track ON invoiceline.track_id = track.track_id
)

SELECT
    album_map.album_name,
    album_map.artist_name,
    SUM(ti.total) AS total_sales_driven
FROM trimmed_invoicelines AS ti
JOIN album_map ON ti.album_id = album_map.album_id
-- Use a subquery to only "Greatest Hits" records
___ ti.___ ___ (SELECT album_id FROM album_map WHERE is_greatest_hits)
GROUP BY album_map.album_name, album_map.artist_name, is_greatest_hits
ORDER BY total_sales_driven DESC;
Code bewerken en uitvoeren