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: Qual é a idade média dos residentes em cada cidade, agrupados por estado, que participaram de consultas públicas?
 ###Tabelas: 
CREATE TABLE residents (id INT, age INT, city VARCHAR(50), state VARCHAR(50), participation BOOLEAN); INSERT INTO residents (id, age, city, state, participation) VALUES (1, 34, 'New York', 'NY', true), (2, 55, 'Los Angeles', 'CA', false); CREATE TABLE cities (id INT, name VARCHAR(50), state VARCHAR(50)); INSERT INTO cities (id, name, state) VALUES (1, 'New York', 'NY'), (2, 'Los Angeles', 'CA'); CREATE TABLE public_consultations (id INT, resident_id INT, consultation_topic VARCHAR(50)); INSERT INTO public_consultations (id, resident_id, consultation_topic) VALUES (1, 1, 'Urban Planning');
SELECT state, AVG(age) as avg_age FROM residents r JOIN cities c ON r.city = c.name WHERE participation = true GROUP BY state;