Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Qual é o valor médio da doação para cada causa, separado por doações e investimentos, nas tabelas 'cause_donations' e 'cause_investments', respectivamente, ordenado pelo valor médio da doação em ordem decrescente?
 ###Tabelas: 
CREATE TABLE cause_donations (cause_id INT, cause_name TEXT, avg_donation DECIMAL(10, 2)); CREATE TABLE cause_investments (cause_id INT, cause_name TEXT, avg_investment DECIMAL(10, 2));
SELECT cause_name, AVG(avg_donation) as avg_donation_amount FROM cause_donations GROUP BY cause_name UNION ALL SELECT cause_name, AVG(avg_investment) as avg_investment_amount FROM cause_investments GROUP BY cause_name ORDER BY avg_donation_amount DESC;