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: Listar todos os projetos de biossensores que receberam financiamento de fontes privadas e governamentais, juntamente com os valores de financiamento.
 ###Tabelas: 
CREATE SCHEMA if not exists biosensors; USE biosensors; CREATE TABLE if not exists projects (id INT, name VARCHAR(100), location VARCHAR(100), funding DECIMAL(10,2)); CREATE TABLE if not exists funding_sources (id INT, project_id INT, source VARCHAR(100), amount DECIMAL(10,2)); INSERT INTO projects (id, name, location, funding) VALUES (1, 'ProjectA', 'California', 2000000.00), (2, 'ProjectB', 'Texas', 3000000.00), (3, 'ProjectC', 'California', 1000000.00); INSERT INTO funding_sources (id, project_id, source, amount) VALUES (1, 1, 'Private', 1500000.00), (2, 1, 'Government', 500000.00), (3, 2, 'Private', 2000000.00), (4, 3, 'Government', 1000000.00);
SELECT projects.name, funding_sources.source, SUM(funding_sources.amount) FROM biosensors.projects INNER JOIN biosensors.funding_sources ON projects.id = funding_sources.project_id WHERE funding_sources.source = ANY(ARRAY['Private', 'Government']) GROUP BY projects.name, funding_sources.source HAVING COUNT(DISTINCT funding_sources.source) = 2;