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 financiamento total recebido por cada tipo de programa no primeiro e segundo trimestre dos últimos dois anos, agrupado por ano?
 ###Tabelas: 
CREATE TABLE programs (program_id INT, program_name VARCHAR(50), program_type VARCHAR(20)); CREATE TABLE funding (funding_id INT, program_id INT, funding_amount DECIMAL(10,2), funding_date DATE); INSERT INTO programs (program_id, program_name, program_type) VALUES (1, 'Art Education', 'Education'), (2, 'Music Education', 'Education'), (3, 'Theater Performance', 'Performance'); INSERT INTO funding (funding_id, program_id, funding_amount, funding_date) VALUES (1, 1, 5000, '2022-01-01'), (2, 2, 3000, '2021-12-01'), (3, 3, 8000, '2020-05-01');
SELECT DATEPART(yy, funding_date) AS year, program_type, SUM(funding_amount) AS total_funding FROM funding f INNER JOIN programs p ON f.program_id = p.program_id WHERE funding_date BETWEEN DATEADD(year, -2, '2022-01-01') AND '2022-06-30' GROUP BY DATEPART(yy, funding_date), program_type;