1SELECT
2 symbols.symbol,
3 COALESCE(SUM(CAST(@portals.transactions.deposits.amountusd AS DOUBLE)),0) AS total_deposit_volume,
4 COALESCE(SUM(CAST(@portals.transactions.swaps.inputamount AS DOUBLE)),0) AS total_swap_volume,
5 COALESCE(SUM(CAST(@portals.transactions.withdraws.amountusd AS DOUBLE)),0) AS total_withdrawal_volume
6FROM (SELECT symbol FROM @portals.transactions.deposits
7 UNION
8 SELECT inputtoken FROM @portals.transactions.swaps
9 UNION
10 SELECT symbol FROM @portals.transactions.withdraws
11 ) symbols
12LEFT JOIN @portals.transactions.deposits ON symbols.symbol=@portals.transactions.deposits.symbol
13LEFT JOIN @portals.transactions.swaps ON symbols.symbol=@portals.transactions.swaps.inputtoken
14LEFT JOIN @portals.transactions.withdraws ON symbols.symbol=@portals.transactions.withdraws.symbol
15GROUP BY symbols.symbol
16ORDER BY total_deposit_volume DESC
17LIMIT 10