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: Mostrar o número total de acomodações para deficientes e programas de apoio, e a porcentagem total de acomodações e programas, para cada departamento no último ano?
 ###Tabelas: 
CREATE TABLE departments (department_id INT, department_name VARCHAR(255)); CREATE TABLE accommodations (accommodation_id INT, department_id INT, accommodation_date DATE); CREATE TABLE programs (program_id INT, department_id INT, program_date DATE);
SELECT d.department_name, COUNT(a.accommodation_id) + COUNT(p.program_id) as total_accommodations_and_programs, ROUND(COUNT(a.accommodation_id) * 100.0 / (SELECT COUNT(*) FROM accommodations) , 2) as percentage_of_total_accommodations, ROUND(COUNT(p.program_id) * 100.0 / (SELECT COUNT(*) FROM programs) , 2) as percentage_of_total_programs FROM departments d LEFT JOIN accommodations a ON d.department_id = a.department_id LEFT JOIN programs p ON d.department_id = p.department_id WHERE a.accommodation_date >= DATEADD(year, -1, CURRENT_DATE) AND p.program_date >= DATEADD(year, -1, CURRENT_DATE) GROUP BY d.department_name;