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: Calcular a porcentagem de atrasos relacionados à construção, clima e outras razões para cada rota.
 ###Tabelas: 
CREATE TABLE delays (delay_id INT, route_id INT, delay FLOAT, delay_reason VARCHAR(255), delay_date DATE); INSERT INTO delays (delay_id, route_id, delay, delay_reason, delay_date) VALUES (1, 1, 15.0, 'Construction', '2022-05-01'), (2, 2, 20.0, 'Accident', '2022-05-02'), (3, 1, 5.0, 'Weather', '2022-05-03'), (4, 2, 10.0, 'Mechanical', '2022-05-04'), (5, 1, 12.0, 'Construction', '2022-05-05');
SELECT route_id, ROUND(100.0 * SUM(CASE WHEN delay_reason = 'Construction' THEN 1 ELSE 0 END) / COUNT(*), 2) as pct_construction, ROUND(100.0 * SUM(CASE WHEN delay_reason = 'Weather' THEN 1 ELSE 0 END) / COUNT(*), 2) as pct_weather, ROUND(100.0 * SUM(CASE WHEN delay_reason NOT IN ('Construction', 'Weather') THEN 1 ELSE 0 END) / COUNT(*), 2) as pct_other FROM delays GROUP BY route_id;