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 é o número de hospitais e clínicas rurais em cada região, e o número de clínicas dentro de um raio de 30 km de cada hospital?
 ###Tabelas: 
CREATE TABLE hospitals (id INT, name TEXT, location TEXT, num_beds INT, region TEXT); INSERT INTO hospitals (id, name, location, num_beds, region) VALUES (1, 'Hospital A', 'Rural Andalusia', 200, 'Andalusia'), (2, 'Hospital B', 'Rural Madrid', 250, 'Madrid'); CREATE TABLE clinics (id INT, name TEXT, location TEXT, num_beds INT, region TEXT); INSERT INTO clinics (id, name, location, num_beds, region) VALUES (1, 'Clinic A', 'Rural Andalusia', 50, 'Andalusia'), (2, 'Clinic B', 'Rural Madrid', 75, 'Madrid'); CREATE TABLE distance (hospital_id INT, clinic_id INT, distance FLOAT); INSERT INTO distance (hospital_id, clinic_id, distance) VALUES (1, 1, 25.0), (1, 2, 30.0), (2, 1, 35.0), (2, 2, 40.0);
SELECT h.region, COUNT(h.id) AS num_hospitals, COUNT(c.id) AS num_clinics_within_30_km FROM hospitals h INNER JOIN distance d ON h.id = d.hospital_id INNER JOIN clinics c ON d.clinic_id = c.id WHERE d.distance <= 30 GROUP BY h.region;