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: Quais organizações sem fins lucrativos receberam os maiores valores totais de doação no terceiro trimestre de 2022, segmentadas por categoria de doador?
 ###Tabelas: 
CREATE TABLE donors (donor_id INT, donor_name TEXT, donor_category TEXT); INSERT INTO donors (donor_id, donor_name, donor_category) VALUES (1, 'Jane Smith', 'Individual'), (2, 'XYZ Foundation', 'Foundation'), (3, 'Greenpeace', 'Nonprofit'); CREATE TABLE donations (donation_id INT, donor_id INT, donation_amount DECIMAL, donation_date DATE); INSERT INTO donations (donation_id, donor_id, donation_amount, donation_date) VALUES (1, 1, 150, '2022-07-05'), (2, 2, 3000, '2022-07-10'), (3, 3, 500, '2022-09-15'), (4, 1, 200, '2022-08-12'), (5, 2, 6500, '2022-08-20'), (6, 3, 900, '2022-10-01');
SELECT donor_category, p.program_name, SUM(d.donation_amount) as total_donation_amount FROM donations d JOIN donors don ON d.donor_id = don.donor_id JOIN programs p ON don.donor_category = p.program_name WHERE d.donation_date BETWEEN '2022-07-01' AND '2022-09-30' GROUP BY donor_category, p.program_name;