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: Qual é o número de funções únicas e sua contagem para operações de mineração na Indonésia e no Cazaquistão?
 ###Tabelas: 
CREATE TABLE indonesian_provinces (id INT, name VARCHAR(50)); CREATE TABLE kazakhstani_regions (id INT, name VARCHAR(50)); CREATE TABLE mining_operations (id INT, country_id INT, region VARCHAR(20)); CREATE TABLE employees (id INT, operation_id INT, role VARCHAR(20)); INSERT INTO indonesian_provinces (id, name) VALUES (1, 'East Kalimantan'), (2, 'Papua'); INSERT INTO kazakhstani_regions (id, name) VALUES (1, 'Karaganda'), (2, 'Ekibastuz'); INSERT INTO mining_operations (id, country_id, region) VALUES (1, 1, 'Indonesia'), (2, 1, 'Indonesia'), (3, 2, 'Kazakhstan'), (4, 2, 'Kazakhstan'); INSERT INTO employees (id, operation_id, role) VALUES (1, 1, 'Operator'), (2, 1, 'Technician'), (3, 2, 'Engineer'), (4, 3, 'Manager'), (5, 3, 'Supervisor'), (6, 4, 'Operator');
SELECT e.role, COUNT(DISTINCT e.id) as role_count FROM employees e INNER JOIN mining_operations m ON e.operation_id = m.id INNER JOIN (SELECT * FROM indonesian_provinces WHERE name IN ('East Kalimantan', 'Papua') UNION ALL SELECT * FROM kazakhstani_regions WHERE name IN ('Karaganda', 'Ekibastuz')) c ON m.country_id = c.id GROUP BY e.role;