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: Encontre o número de clientes únicos que compraram produtos de fornecedores éticos e não éticos.
 ###Tabelas: 
CREATE TABLE customers (customer_id INT, customer_name VARCHAR(50), ethical_supplier BOOLEAN); INSERT INTO customers (customer_id, customer_name, ethical_supplier) VALUES (1, 'Customer A', TRUE), (2, 'Customer B', FALSE), (3, 'Customer C', TRUE), (4, 'Customer D', FALSE); CREATE TABLE purchases (purchase_id INT, customer_id INT, supplier_id INT); INSERT INTO purchases (purchase_id, customer_id, supplier_id) VALUES (1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4), (5, 1, 2);
SELECT COUNT(DISTINCT customer_id) FROM (SELECT customer_id FROM purchases p JOIN customers c ON p.customer_id = c.customer_id WHERE c.ethical_supplier = TRUE INTERSECT SELECT customer_id FROM purchases p JOIN customers c ON p.customer_id = c.customer_id WHERE c.ethical_supplier = FALSE);