source_db: snowflake
dim_table: dim_track_artists_aggregated_temp
export_sql: >-
  SELECT DISTINCT
    dta.track_id,
    dta.type,
    dta.name AS track_artists
  FROM
    {db}.{schema}.dim_track_artist dta
  WHERE
    dta.type = 'performer'
insert_sql:
  - >-
    TRUNCATE TABLE {db}.{schema}.{dim_table}
  - >-
    INSERT INTO
      {db}.{schema}.{dim_table}
      (
        track_id,
        type,
        track_artists
      )
    SELECT DISTINCT
      dta.track_id,
      dta.type,
      LISTAGG(dta.name, '|') WITHIN GROUP (ORDER BY dta.name) OVER (PARTITION BY dta.track_id) AS track_artists
    FROM
      {db}.{schema}.dim_track_artist dta
    WHERE dta.type = 'performer'
