WITH
flow_daily_price AS (
SELECT token_contract
, timestamp::date AS utc_date
, avg(price_usd) AS price_usd
FROM flow.core.fact_prices
WHERE token_contract = 'A.1654653399040a61.FlowToken'
GROUP BY 1,2
),
topshot_sales AS (
SELECT s.tx_id
, s.block_timestamp
, s.nft_collection
, s.nft_id
, m.nbatopshot_id
, m.set_name
, m.moment_date
, m.play_category
, m.play_type
, m.player
, m.team
, s.currency
, s.price
, s.buyer
, s.seller
, s.price * coalesce(flow.price_usd, duc.price_usd) AS price_usd
FROM flow.core.fact_nft_sales AS s
INNER JOIN flow.core.dim_topshot_metadata AS m
ON m.nft_collection = s.nft_collection
AND m.nft_id = s.nft_id
LEFT JOIN flow_daily_price AS flow