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 total de incidentes criminais, chamadas de emergência e incidentes de incêndio na última semana em Oakland, CA?
 ###Tabelas: 
CREATE TABLE crime_incidents (id INT, date DATE, type VARCHAR(20)); INSERT INTO crime_incidents (id, date, type) VALUES (1, '2022-01-01', 'theft'), (2, '2022-01-02', 'burglary'); CREATE TABLE emergency_calls (id INT, date DATE, type VARCHAR(20)); INSERT INTO emergency_calls (id, date, type) VALUES (1, '2022-01-01', 'emergency call'); CREATE TABLE fire_incidents (id INT, date DATE, type VARCHAR(20)); INSERT INTO fire_incidents (id, date, type) VALUES (1, '2022-01-02', 'fire incident'); CREATE TABLE locations (id INT, city VARCHAR(20), state VARCHAR(20)); INSERT INTO locations (id, city, state) VALUES (1, 'Oakland', 'CA');
SELECT 'crime incidents' AS type, COUNT(*) FROM crime_incidents INNER JOIN locations ON crime_incidents.date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 WEEK) AND locations.city = 'Oakland' AND locations.state = 'CA' UNION ALL SELECT 'emergency calls' AS type, COUNT(*) FROM emergency_calls INNER JOIN locations ON emergency_calls.date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 WEEK) AND locations.city = 'Oakland' AND locations.state = 'CA' UNION ALL SELECT 'fire incidents' AS type, COUNT(*) FROM fire_incidents INNER JOIN locations ON fire_incidents.date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 WEEK) AND locations.city = 'Oakland' AND locations.state = 'CA';