Spaces:
Sleeping
Sleeping
File size: 8,668 Bytes
e71f686 c4472d8 338ddf8 1b8609b f40e172 9d9c434 1b8609b d23ce76 9ac8087 737215e 1b8609b c60ba05 9ac8087 1b8609b 9ac8087 c60ba05 9ac8087 c60ba05 9ac8087 68bffe6 9ac8087 c60ba05 9ac8087 c60ba05 9ac8087 68bffe6 9ac8087 af2d8fd e53b6c4 af2d8fd 97919c3 af2d8fd 7d5fb41 9ac8087 1b8609b 9ac8087 1b8609b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
SELECT
id,
id AS "Id da entrada no banco",
"createdAt" AS "Data Criação",
e.name AS "Nome do documento",
-- alvo
COALESCE(NULLIF(array_to_string(ARRAY_AGG(DISTINCT NULLIF(NULLIF(mineralization->'region'->>'target_or_deposit', 'Não especificado'), '')), ', '), ''), 'Não especificado') AS "Alvo ou depósito", -- OK
-- ore
array_to_string(ARRAY_AGG(DISTINCT(mineralization->>'ore')), ', ') AS "Tipo de mineralização",
-- cidade
COALESCE(NULLIF(array_to_string(ARRAY_AGG(DISTINCT NULLIF(NULLIF(t.mineralization->'region'->>'city', 'Não especificado'), '')), ', '), ''), 'Não especificado') AS "Cidades",
-- estado
COALESCE(NULLIF(array_to_string(ARRAY_AGG(DISTINCT NULLIF(NULLIF(t.mineralization->'region'->>'state', 'Não especificado'), '')), ', '), ''), 'Não especificado') AS "Estado",
-- país
COALESCE(NULLIF(array_to_string(ARRAY_AGG(DISTINCT NULLIF(NULLIF(t.mineralization->'region'->>'country', 'Não especificado'), '')), ', '), ''), 'Não especificado') AS "País",
-- região
COALESCE(NULLIF(array_to_string(ARRAY_AGG(DISTINCT NULLIF(NULLIF(t.mineralization->'region'->>'region_name', 'Não especificado'), '')), ', '), ''), 'Não especificado') AS "Região",
-- quantidade mineralizacão
COALESCE(NULLIF(array_to_string(ARRAY_AGG(DISTINCT NULLIF(NULLIF(t.mineralization->>'quantity', 'Não especificado'), '')), ', '), ''), 'Não especificado') AS "Quantidade de minério",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(concentration, 'name_of_ore') || ' - (' || jsonb_extract_path_text(concentration, 'concentration_of_ore') || ')'
FROM jsonb_array_elements(mineralization->'concentration') AS concentration
), ', '), ''), 'Não especificado') AS "Concentração do minério",
-- extra_info
COALESCE(NULLIF(array_to_string(ARRAY_AGG(NULLIF(NULLIF(t.mineralization->'region'->>'extra_info', 'Não especificado'), '')), ' | '), ''), 'Não especificado') AS "Informações adicionais",
---------
COALESCE(NULLIF(data->'responseData'->2->'response'->>'mineralizationSignatures', ''), 'Não identificado') AS "Assinaturas de mineralização", -- OK
COALESCE(NULLIF(mineralization->'geological_context'->>'tectonic_context', ''), 'Não especificado') AS "Contexto tectônico", -- OK
COALESCE(NULLIF(mineralization->'geological_context'->>'geological_context_description', ''), 'Não especificado') AS "Contexto geológico", -- OK
COALESCE(NULLIF(mineralization->'geological_context'->>'context_of_present_rocks', ''), 'Não especificado') AS "Rochas presentes", -- OK
----------
-- Rochas sedimentares
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(sedimentares, 'name') || ' (' || 'Tipo: ' || jsonb_extract_path_text(sedimentares, 'type') || ', Relações de contato: ' || jsonb_extract_path_text(sedimentares, 'contact_relations') || ')'
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'sedimentares') AS sedimentares
), '; '), ''), 'Não identificado') AS "Rochas sedimentares",
-- Rochas metamórficas
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(metamorficas, 'name') || ' (' || 'Tipo: ' || jsonb_extract_path_text(metamorficas, 'type') || ', Relações de contato: ' || jsonb_extract_path_text(metamorficas, 'contact_relations') || ')'
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'metamórficas') AS metamorficas
), '; '), ''), 'Não identificado') AS "Rochas metamórficas",
-- Rochas ígneas intrusivas
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(igneas_i, 'name') || ' (' || 'Tipo: ' || jsonb_extract_path_text(igneas_i, 'type') || ', Relações de contato: ' || jsonb_extract_path_text(igneas_i, 'contact_relations') || ')'
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas') AS igneas_i
), '; '), ''), 'Não identificado') AS "Rochas ígneas intrusivas",
-- Rochas ígneas extrusivas
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(igneas_e, 'name') || ' (' || 'Tipo: ' || jsonb_extract_path_text(igneas_e, 'type') || ', Relações de contato: ' || jsonb_extract_path_text(igneas_e, 'contact_relations') || ')'
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_extrusivas') AS igneas_e
), '; '), ''), 'Não identificado') AS "Rochas ígneas extrusivas",
-- Rochas ígneas subvulcânicas
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(sv, 'name') || ' (' || 'Tipo: ' || jsonb_extract_path_text(sv, 'type') || ', Relações de contato: ' || jsonb_extract_path_text(sv, 'contact_relations') || ')'
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_subvulcânicas') AS sv
), '; '), ''), 'Não identificado') AS "Rochas ígneas subvulcânicas",
-- Rochas hospedeiras
COALESCE(NULLIF(data->'responseData'->2->'response'->'host_rocks'->>'name', '[null]'), 'Não identificado') AS "Nomes de rochas hospedeiras",
COALESCE(NULLIF(data->'responseData'->2->'response'->'host_rocks'->>'geologicalEnvironments', '[null]'), 'Não identificado') AS "Ambiente geológico",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'mineralFabric')), ', '), ''), 'Não identificado') AS "Textura de mineralização",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(associatedMinerals, 'name') || ' (' || 'Cor: ' || jsonb_extract_path_text(associatedMinerals, 'color') || ', Textura: ' || jsonb_extract_path_text(associatedMinerals, 'textures') || ', Nível de Alteração: ' || jsonb_extract_path_text(associatedMinerals, 'alterationLevel') || ')'
FROM jsonb_array_elements(data->'responseData'->2->'response'->'associatedMinerals') AS associatedMinerals
), ', '), ''), 'Não identificado') AS "Minerais associados",
COALESCE(NULLIF(data->'responseData'->2->'response'->>'fluidInclusionsAnalysis', '[]'), 'Não especificado') AS "Análise de inclusões fluidas",
-- Alterações hidrotermais
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'hydrotermal_alterations'->'alterationTypes')), ', '), ''), 'Não identificado') AS "Tipos de alterações hidrotermais",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'hydrotermal_alterations'->'associatedMinerals')), ', '), ''), 'Não identificado') AS "Minerais associados a alterações hidrotermais",
COALESCE(NULLIF(data->'responseData'->3->'response'->>'structural_mapping', '[]'), 'Não especificado') AS "Geologia estrutural da região",
COALESCE(NULLIF(data->'responseData'->4->'response'->>'structureMineralizationRelation', '[]'), 'Não especificado') AS "Relação estrutura-mineralização",
COALESCE(NULLIF(data->'responseData'->5->'response'->>'stableIsotopes', '[]'), 'Não especificado') AS "Isótopos Estáveis e Radiogênicos",
COALESCE(NULLIF(data->'responseData'->5->'response'->>'traceElementsAndRareEarths', '[]'), 'Não especificado') AS "Elementos traço e terras raras",
COALESCE(NULLIF(data->'responseData'->6->'response'->>'mineralizationSignatures', '[]'), 'Não especificado') AS "Assinatura geofísica",
COALESCE(NULLIF(data->'responseData'->7->'response'->>'additionalInformation', '[]'), 'Não especificado') AS "Informações adicionais de mineralização",
COALESCE(NULLIF(data->'responseData'->8->'response'->>'potential', '[]'), 'Não especificado') AS "Potencial de descoberta",
COALESCE(NULLIF(data->'responseData'->9->'response'->>'strengths', '[]'), 'Não especificado') AS "Pontos fortes",
COALESCE(NULLIF(data->'responseData'->9->'response'->>'investment_risk', '[]'), 'Não especificado') AS "Risco de investimento",
COALESCE(NULLIF(data->'responseData'->9->'response'->>'economic_potential', '[]'), 'Não especificado') AS "Potencial econômico",
COALESCE(NULLIF(data->'responseData'->10->'response'->>'explanation', '[]'), 'Não especificado') AS "Explicação da favorabilidade",
COALESCE(NULLIF(data->'responseData'->10->'response'->>'favorability', '[]'), 'Não especificado') AS "Favorabilidade"
FROM
public."Extraction" e
CROSS JOIN LATERAL
jsonb_array_elements(e.data->'responseData'->0->'response'->'mineralizations') AS t(mineralization)
GROUP BY
e."createdAt",
e.id,
e.name,
mineralization;
|