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 quantidade total de ouro e prata extraída por cada empresa, juntamente com suas respectivas pontuações de impacto ambiental?
 ###Tabelas: 
CREATE TABLE companies (id INT, name VARCHAR(255)); INSERT INTO companies (id, name) VALUES (1, 'ACME Minerals'), (2, 'BIG Extraction'); CREATE TABLE extraction (id INT, company_id INT, mineral VARCHAR(255), quantity INT); INSERT INTO extraction (id, company_id, mineral, quantity) VALUES (1, 1, 'gold', 500), (2, 1, 'silver', 800), (3, 2, 'gold', 700), (4, 2, 'silver', 900); CREATE TABLE mining_sites (id INT, site_name VARCHAR(255), environmental_impact_score INT); INSERT INTO mining_sites (id, site_name, environmental_impact_score) VALUES (1, 'Site A', 80), (2, 'Site B', 60), (3, 'Site C', 90);
SELECT c.name, SUM(CASE WHEN e.mineral = 'gold' THEN e.quantity ELSE 0 END) as total_gold, SUM(CASE WHEN e.mineral = 'silver' THEN e.quantity ELSE 0 END) as total_silver, ms.environmental_impact_score FROM companies c INNER JOIN extraction e ON c.id = e.company_id INNER JOIN mining_sites ms ON c.id = ms.site_name GROUP BY c.name, ms.environmental_impact_score;