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: Exibir o número de voluntários que fizeram doações para cada categoria de programa e o valor total das doações.
 ###Tabelas: 
CREATE TABLE DonorPrograms (DonorID INT, ProgramID INT); INSERT INTO DonorPrograms (DonorID, ProgramID) VALUES (1, 101), (1, 102), (2, 102), (3, 103), (3, 104); CREATE TABLE ProgramCategories (CategoryID INT, Category TEXT); INSERT INTO ProgramCategories (CategoryID, Category) VALUES (1, 'Education'), (2, 'Health'), (3, 'Environment'), (4, 'Other'); CREATE TABLE Donations (DonationID INT, DonorID INT, Amount DECIMAL); INSERT INTO Donations (DonationID, DonorID, Amount) VALUES (1, 1, 500), (2, 1, 750), (3, 2, 1000), (4, 3, 200), (5, 3, 300);
SELECT PC.Category, COUNT(DP.DonorID) AS NumVolunteers, SUM(D.Amount) AS TotalDonated  FROM DonorPrograms DP  INNER JOIN Donations D ON DP.DonorID = D.DonorID  INNER JOIN Programs P ON DP.ProgramID = P.ProgramID  INNER JOIN ProgramCategories PC ON P.CategoryID = PC.CategoryID  GROUP BY PC.Category;