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 total da doação por fonte de financiamento e grupo etário, para eventos de artes visuais realizados nos últimos dois anos, divididos por trimestre?
 ###Tabelas: 
CREATE TABLE Events (id INT, date DATE, funding_source VARCHAR(50), event_type VARCHAR(50)); INSERT INTO Events (id, date, funding_source, event_type) VALUES (1, '2019-01-01', 'Foundation', 'Visual Arts'), (2, '2020-02-01', 'Individual', 'Visual Arts'); CREATE TABLE Donations (id INT, event_id INT, age_group VARCHAR(20), donation_amount DECIMAL(10,2)); INSERT INTO Donations (id, event_id, age_group, donation_amount) VALUES (1, 1, '18-24', 50), (2, 1, '25-34', 100), (3, 2, '35-44', 75);
SELECT DATE_FORMAT(e.date, '%Y-%m-%q') AS quarter, e.funding_source, d.age_group, SUM(d.donation_amount) AS total_donation FROM Events e INNER JOIN Donations d ON e.id = d.event_id WHERE e.date >= DATE_SUB(CURRENT_DATE, INTERVAL 2 YEAR) AND e.event_type = 'Visual Arts' GROUP BY quarter, e.funding_source, d.age_group;