ComenzarEmpieza gratis

Álbumes que impulsan las ventas

Hoy tu directora se acercó a tu mesa y te contó en primicia una promoción navideña sobre álbumes "Greatest Hits" que saldrá pronto. Sin embargo, para asegurarse de que se descuentan los álbumes óptimos, quiere saber cuáles de los álbumes "Greatest Hits" generan más ventas. Para ello, ¡pondrás a prueba todas las habilidades que has aprendido!

Este ejercicio forma parte del curso

Manipulación de datos en Snowflake

Ver curso

Instrucciones del ejercicio

  • Define una CTE llamada album_map.
  • Crea una sentencia CASE que devuelva TRUE si greatest aparece en el título de un álbum y FALSE en caso contrario, con el alias is_greatest_hits.
  • Actualiza la CTE trimmed_invoicelines, haciendo LEFT JOIN de las tablas invoice y tracks con invoicelines en invoice_id y track_id, respectivamente.
  • Usa una subconsulta para devolver solo los álbumes "Greatest Hits".

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

-- 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;
Editar y ejecutar código