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 programas receberam doações no último mês, mas não possuem horas de voluntariado relatadas?
 ###Tabelas: 
CREATE TABLE Programs (ProgramID INT, ProgramName TEXT); CREATE TABLE Donations (DonationID INT, DonorID INT, ProgramID INT, DonationDate DATE); CREATE TABLE VolunteerHours (ProgramID INT, VolunteerHours INT); INSERT INTO Programs (ProgramID, ProgramName) VALUES (1, 'Food Security'), (2, 'Climate Change'); INSERT INTO Donations (DonationID, DonorID, ProgramID, DonationDate) VALUES (1, 1, 1, '2023-01-15'); INSERT INTO VolunteerHours (ProgramID, VolunteerHours) VALUES (2, 50);
SELECT p.ProgramName FROM Programs p LEFT JOIN Donations d ON p.ProgramID = d.ProgramID LEFT JOIN VolunteerHours v ON p.ProgramID = v.ProgramID WHERE d.DonationDate >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND v.ProgramID IS NULL;