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 fábricas em cada região que implementaram práticas de economia circular nos últimos 6 meses.
 ###Tabelas: 
CREATE TABLE Factories (FactoryID INT, FactoryName VARCHAR(50), CountryID INT, Region VARCHAR(50), CircularEconomy BOOLEAN); CREATE TABLE Countries (CountryID INT, CountryName VARCHAR(50), Continent VARCHAR(50)); INSERT INTO Factories VALUES (1,'Factory A',1,'Region A',TRUE),(2,'Factory B',2,'Region A',FALSE),(3,'Factory C',3,'Region B',TRUE),(4,'Factory D',1,'Region B',FALSE),(5,'Factory E',2,'Region C',TRUE); INSERT INTO Countries VALUES (1,'Kenya','Africa'),(2,'Nigeria','Africa'),(3,'India','Asia');
SELECT f.Region, COUNT(DISTINCT f.FactoryID) * 100.0 / (SELECT COUNT(DISTINCT FactoryID) FROM Factories WHERE CircularEconomy = TRUE) AS Percentage FROM Factories f JOIN Countries c ON f.CountryID = c.CountryID WHERE c.Continent = 'Africa' OR c.Continent = 'Asia' AND f.CircularEconomy = TRUE AND f.ImplementationDate >= DATEADD(month, -6, GETDATE()) GROUP BY f.Region;