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 subscritores e a idade média da apólice para segurados no Texas, excluindo os subscritores sem segurados no Texas.
 ###Tabelas: 
CREATE TABLE underwriters (id INT, name VARCHAR(100)); CREATE TABLE policies (id INT, underwriter_id INT, issue_date DATE); CREATE TABLE policyholders (id INT, policy_id INT, state VARCHAR(20)); INSERT INTO underwriters (id, name) VALUES (1, 'David'), (2, 'Eve'), (3, 'Frank'); INSERT INTO policies (id, underwriter_id, issue_date) VALUES (1, 1, '2020-01-01'), (2, 1, '2020-02-01'), (3, 2, '2019-01-01'), (4, 3, '2021-01-01'); INSERT INTO policyholders (id, policy_id, state) VALUES (1, 1, 'TX'), (2, 1, 'CA'), (3, 2, 'TX'), (4, 4, 'NY');
SELECT underwriters.name, AVG(DATEDIFF(CURDATE(), policies.issue_date) / 365) as avg_policy_age FROM underwriters JOIN policies ON underwriters.id = policies.underwriter_id JOIN policyholders ON policies.id = policyholders.policy_id WHERE policyholders.state = 'TX' GROUP BY underwriters.id HAVING COUNT(DISTINCT policyholders.id) > 0;