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 acima de $500 e sua respectiva cidade?
 ###Tabelas: 
CREATE TABLE Programs (id INT, program_name VARCHAR(255), budget DECIMAL(10,2), start_date DATE, end_date DATE, city VARCHAR(255)); CREATE TABLE Donations (id INT, donation_amount DECIMAL(10,2), donation_date DATE, program_id INT);
SELECT p.program_name, p.city, SUM(d.donation_amount) as total_donations FROM Programs p INNER JOIN Donations d ON p.id = d.program_id WHERE d.donation_amount > 500 GROUP BY p.program_name, p.city;