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: Liste os nomes dos navios e seus fabricantes, juntamente com o número de falhas de conformidade regulatória nos últimos 3 meses.
 ###Tabelas: 
CREATE TABLE Vessels (VesselID INT, VesselName VARCHAR(50), Manufacturer VARCHAR(50)); INSERT INTO Vessels (VesselID, VesselName, Manufacturer) VALUES (1, 'Ocean Titan', 'ABC Shipyard'), (2, 'Maritime Queen', 'Indian Ocean Shipbuilders'); CREATE TABLE RegulatoryCompliance (RegulationID INT, VesselID INT, ComplianceDate DATE, Compliance VARCHAR(50)); INSERT INTO RegulatoryCompliance (RegulationID, VesselID, ComplianceDate, Compliance) VALUES (1, 1, '2021-03-01', 'Compliant'), (2, 2, '2021-04-01', 'Non-Compliant'), (3, 2, '2021-05-01', 'Non-Compliant');
SELECT Vessels.VesselName, Vessels.Manufacturer, COUNT(*) AS Failures FROM Vessels INNER JOIN RegulatoryCompliance ON Vessels.VesselID = RegulatoryCompliance.VesselID WHERE RegulatoryCompliance.ComplianceDate > DATE_SUB(CURDATE(), INTERVAL 3 MONTH) AND RegulatoryCompliance.Compliance = 'Non-Compliant' GROUP BY Vessels.VesselID;