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 os nomes dos agricultores que cultivam culturas em ambas as configurações de agricultura urbana e agroecologia.
 ###Tabelas: 
CREATE TABLE farmers (id INT, name VARCHAR(50)); CREATE TABLE crops (id INT, name VARCHAR(50)); CREATE TABLE urban_agriculture_farmers (farmer_id INT, crop_id INT); CREATE TABLE agroecology_farmers (farmer_id INT, crop_id INT); INSERT INTO farmers (id, name) VALUES (1, 'Rachel'), (2, 'Ben'), (3, 'Clara'), (4, 'Daniel'); INSERT INTO crops (id, name) VALUES (1, 'Spinach'), (2, 'Chard'), (3, 'Radishes'), (4, 'Beets'); INSERT INTO urban_agriculture_farmers (farmer_id, crop_id) VALUES (1, 1), (1, 2), (2, 3), (3, 1), (4, 2); INSERT INTO agroecology_farmers (farmer_id, crop_id) VALUES (1, 2), (1, 3), (2, 1), (3, 2), (4, 4);
SELECT f.name FROM farmers f JOIN urban_agriculture_farmers uaf ON f.id = uaf.farmer_id JOIN agroecology_farmers af ON f.id = af.farmer_id GROUP BY f.name HAVING COUNT(DISTINCT uaf.crop_id) > 1 AND COUNT(DISTINCT af.crop_id) > 1;