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 doadores doaram para as categorias de artes e esportes?
 ###Tabelas: 
CREATE TABLE Donations (DonationID INT, DonorID INT, ProgramID INT); INSERT INTO Donations (DonationID, DonorID, ProgramID) VALUES (1, 1, 1), (2, 1, 2), (3, 2, 3), (4, 2, 4), (5, 3, 5), (6, 3, 6); CREATE TABLE Programs (ProgramID INT, ProgramName TEXT, Category TEXT); INSERT INTO Programs (ProgramID, ProgramName, Category) VALUES (1, 'Theater Production', 'Arts'), (2, 'Dance Performance', 'Arts'), (3, 'Soccer Tournament', 'Sports'), (4, 'Basketball Camp', 'Sports'), (5, 'Painting Class', 'Arts'), (6, 'Writing Workshop', 'Arts');
SELECT D.DonorID FROM Donations D JOIN Programs P ON D.ProgramID = P.ProgramID WHERE P.Category IN ('Arts', 'Sports') GROUP BY D.DonorID HAVING COUNT(DISTINCT P.Category) = 2;