GeoCosmos / query.sql
emidiosouza's picture
fix: ultimos ajustes da query no dia 26-set-24
9d9c434 verified
raw
history blame
11.6 kB
SELECT
id,
name AS "Nome do documento",
COALESCE(NULLIF(data->'responseData'->0->'response'->>'city', '[]'), 'Não especificado') AS "Cidade",
COALESCE(NULLIF(data->'responseData'->0->'response'->>'state', '[]'), 'Não especificado') AS "Estado",
COALESCE(NULLIF(data->'responseData'->0->'response'->>'region', '[]'), 'Não especificado') AS "Região",
COALESCE(NULLIF(data->'responseData'->0->'response'->>'country', '[]'), 'Não especificado') AS "País",
COALESCE(NULLIF(data->'responseData'->0->'response'->>'extra_info', '[]'), 'Não especificado') AS "Informações adicionais",
--mineralizations
COALESCE(NULLIF(data->'responseData'->0->'response'->'mineralizations'->0->>'ore', ''), 'Não especificado') AS "Mineralização - Tipo de minério",
COALESCE(NULLIF(data->'responseData'->0->'response'->'mineralizations'->0->>'region', ''), 'Não especificado') AS "Mineralização - Região do alvo",
COALESCE(NULLIF(data->'responseData'->0->'response'->'mineralizations'->0->>'quantity', ''), 'Não especificado') AS "Quantidade de mineralização",
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(data->'responseData'->0->'response'->'mineralizations'->0->'concentration') AS concentration
), ', '), ''), 'Não especificado') AS "Concentração de mineralização",
--target or deposit
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->0->'response'->'target_or_deposit')), ', '), ''), 'Não especificado') AS "Alvo ou depósito",
COALESCE(NULLIF(data->'responseData'->0->'response'->'geological_context'->>'tectonic_context', ''), 'Não especificado') AS "Contexto tectônico",
COALESCE(NULLIF(data->'responseData'->0->'response'->'geological_context'->>'geological_context', ''), 'Não especificado') AS "Contexto geológico",
COALESCE(NULLIF(data->'responseData'->0->'response'->'geological_context'->>'context_of_present_rocks', ''), 'Não especificado') AS "Rochas presentes",
--rock_types_sedimentares
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(sedimentares, 'name')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'sedimentares') AS sedimentares
), ', '), ''), 'Não identificado') AS "Rochas sedimentares",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(sedimentares, 'type')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'sedimentares') AS sedimentares
), ', '), ''), 'Não identificado') AS "Tipo sedimentares",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(sedimentares, 'scientificName')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'sedimentares') AS sedimentares
), ', '), ''), 'Não identificado') AS "Nomes cientificos sedimentares",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->1->'response'->'rockTypes'->'sedimentares'->0->'contact_relations')), ', '), ''), 'Não especificado') AS "Relações de contato sedimentares",
--rock_types_metamorficas
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(metamorficas, 'name')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'metamórficas') AS metamorficas
), ', '), ''), 'Não identificado') AS "Rochas metamórficas",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(metamorficas, 'type')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'metamórficas') AS metamorficas
), ', '), ''), 'Não identificado') AS "Tipo metamórficas",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(metamorficas, 'scientificName')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'metamórficas') AS metamorficas
), ', '), ''), 'Não identificado') AS "Nomes cientificos metamórficas",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->1->'response'->'rockTypes'->'metamórficas'->0->'contact_relations')), ', '), ''), 'Não especificado') AS "Relações de contato metamórficas",
--rock_types_igneas_intrusivas
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(igneas_intrusivas, 'name')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas') AS igneas_intrusivas
), ', '), ''), 'Não identificado') AS "Rochas ígneas intrusivas",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(igneas_intrusivas, 'type')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas') AS igneas_intrusivas
), ', '), ''), 'Não identificado') AS "Tipo ígneas intrusivas",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(igneas_intrusivas, 'scientificName')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas') AS igneas_intrusivas
), ', '), ''), 'Não identificado') AS "Nomes cientificos ígneas intrusivas",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas'->0->'contact_relations')), ', '), ''), 'Não especificado') AS "Relações de contato ígneas_intrusivas",
--rock_types_v
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(vulcanicas, 'name')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'vulcânicas_e_subvulcânicas') AS vulcanicas
), ', '), ''), 'Não identificado') AS "Rochas vulcânicas",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(vulcanicas, 'type')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'vulcânicas_e_subvulcânicas') AS vulcanicas
), ', '), ''), 'Não identificado') AS "Tipo vulcânicas",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(vulcanicas, 'scientificName')
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'vulcânicas_e_subvulcânicas') AS vulcanicas
), ', '), ''), 'Não identificado') AS "Nomes cientificos vulcânicas",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->1->'response'->'rockTypes'->'vulcânicas_e_subvulcânicas'->0->'contact_relations')), ', '), ''), 'Não especificado') AS "Relações de contato vulcânicas e subvulcânicas",
-- mineralization_important_data
COALESCE(NULLIF(data->'responseData'->2->'response'->>'oreType', '[null]'), 'Não identificado') AS "Tipo de minério",
COALESCE(NULLIF(data->'responseData'->2->'response'->>'rockType', '[null]'), 'Não identificado') AS "Tipo de rocha",
--host_rocks
COALESCE(NULLIF(data->'responseData'->2->'response'->'host_rocks'->>'name', '[null]'), 'Não identificado') AS "Nomes rochas hospedeiras",
COALESCE(NULLIF(data->'responseData'->2->'response'->'host_rocks'->>'geologicalEnvironments', '[null]'), 'Não identificado') AS "Eventos geológicos rochas hospedeiras",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'host_rocks'->'mineralizationStructures')), ', '), ''), 'Não identificado') AS "Estruturas de mineralização de rochas hospedeiras",
--oreContent
COALESCE(NULLIF(data->'responseData'->2->'response'->>'oreContent', '[null]'), 'Não identificado') AS "Quantidade de minério",
COALESCE(NULLIF(data->'responseData'->2->'response'->>'oreConcentration', '[null]'), 'Não identificado') AS "Concentração do minério",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'structures')), ', '), ''), 'Não identificado') AS "Estruturas",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'mineralFabric')), ', '), ''), 'Não identificado') AS "Textura de mineralização",
-- associatedMinerals
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",
--hydrotermal_alterations
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'->2->'response'->>'mineralizationSignatures', ''), 'Não identificado') AS "Assinaturas de mineralização",
COALESCE(NULLIF(data->'responseData'->3->'response'->>'structural_mapping', '[]'), 'Não especificado') AS "Mapeamento estrutural",
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",
COALESCE(NULLIF(data->'responseData'->5->'response'->>'traceElementsAndRareEarths', '[]'), 'Não especificado') AS "Elementos traço e terras raras",
COALESCE(NULLIF(data->'responseData'->6->'response'->>'geophysicalSignatures', '[]'), 'Não especificado') AS "Assinatura geofísica",
COALESCE(NULLIF(data->'responseData'->6->'response'->>'mineralizationSignatures', '[]'), 'Não especificado') AS "Assinaturas de mineralização 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'->>'estimates', '[]'), 'Não especificado') AS "Estimativas de quantidade de minério",
COALESCE(NULLIF(data->'responseData'->9->'response'->>'potential', '[]'), 'Não especificado') AS "Potencial de descoberta",
COALESCE(NULLIF(data->'responseData'->10->'response'->>'strengths', '[]'), 'Não especificado') AS "Pontos fortes",
COALESCE(NULLIF(data->'responseData'->10->'response'->>'investment_risk', '[]'), 'Não especificado') AS "Risco de investimento",
COALESCE(NULLIF(data->'responseData'->10->'response'->>'economic_potential', '[]'), 'Não especificado') AS "Potencial econômico",
COALESCE(NULLIF(data->'responseData'->11->'response'->>'explanation', '[]'), 'Não especificado') AS "Explicação da favorabilidade",
COALESCE(NULLIF(data->'responseData'->11->'response'->>'favorability', '[]'), 'Não especificado') AS "Favorabilidade"
FROM
public."Extraction";