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: Listar todos os programas com seus respectivos valores totais de doação e horas de voluntariado.
 ###Tabelas: 
CREATE TABLE programs (program_id INT, program_name TEXT, location TEXT); CREATE TABLE donations (donation_id INT, program_id INT, donation_amount INT, donation_date DATE); CREATE TABLE volunteer_hours (volunteer_id INT, program_id INT, volunteer_hours INT, volunteer_date DATE);
SELECT programs.program_name, SUM(donations.donation_amount) as total_donations, SUM(volunteer_hours.volunteer_hours) as total_volunteer_hours FROM programs LEFT JOIN donations ON programs.program_id = donations.program_id LEFT JOIN volunteer_hours ON programs.program_id = volunteer_hours.program_id GROUP BY programs.program_name;