Mudanças entre as edições de "AleloMicro-SiBBR: dicionário de dados"
(→isoladores) |
(→isoladores) |
||
Linha 347: | Linha 347: | ||
end, -3) | end, -3) | ||
AS identificationremarks, | AS identificationremarks, | ||
+ | |||
+ | ====datas?==== | ||
+ | |||
+ | dta_coleta as eventdate, | ||
+ | dta_primeiro_lote as dateidentified | ||
+ | |||
+ | FROM mic.tbr_escopos JOIN mic.tbl_subcolecoes AS sub ON idt_escopo=cod_escopo | ||
+ | JOIN sis.tbl_instituicoes as insSub ON insSub.idt_instituicao=sub.cod_instituicao | ||
+ | JOIN mic.tbl_colecoes ON idt_colecao=cod_colecao JOIN mic.tbl_linhagens AS lin ON idt_subcolecao=lin.cod_subcolecao | ||
+ | JOIN mic.tbl_acessos AS ac ON idt_linhagem=cod_linhagem | ||
+ | |||
+ | LEFT JOIN tax.tbl_taxonomias AS tax ON tax.idt_taxonomia = lin.cod_taxonomia | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxPai ON taxPai.idt_taxonomia = tax.cod_pai | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxAvo ON taxAvo.idt_taxonomia = taxPai.cod_pai | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxBisa ON taxBisa.idt_taxonomia = taxAvo.cod_pai | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxTata ON case when taxBisa.cod_pai is null then false else taxTata.idt_taxonomia = taxBisa.cod_pai end | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxTata6 ON case when taxTata.cod_pai is null then false else taxTata6.idt_taxonomia = taxTata.cod_pai end | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxTata7 ON case when taxTata.cod_pai is null then false else taxTata7.idt_taxonomia = taxTata6.cod_pai end | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxTata8 ON case when taxTata.cod_pai is null then false else taxTata8.idt_taxonomia = taxTata7.cod_pai end | ||
+ | |||
+ | LEFT JOIN tax.tbr_niveis AS niv ON niv.idt_nivel=tax.cod_nivel | ||
+ | |||
+ | LEFT JOIN tax.tbl_taxonomias AS taxH ON taxH.idt_taxonomia = lin.cod_hospedeiro | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxPaiH ON taxPaiH.idt_taxonomia = taxH.cod_pai | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxAvoH ON taxAvoH.idt_taxonomia = taxPaiH.cod_pai | ||
+ | LEFT JOIN tax.tbl_taxonomias AS taxBisaH ON taxBisaH.idt_taxonomia = taxAvoH.cod_pai | ||
+ | |||
+ | LEFT JOIN tax.tbr_niveis AS nivH ON nivH.idt_nivel=taxH.cod_nivel | ||
+ | LEFT JOIN tax.tbr_niveis AS nivPaiH ON nivPaiH.idt_nivel=taxPaiH.cod_nivel | ||
+ | LEFT JOIN tax.tbr_niveis AS nivAvoH ON nivAvoH.idt_nivel=taxAvoH.cod_nivel | ||
+ | LEFT JOIN tax.tbr_niveis AS nivBisaH ON nivBisaH.idt_nivel=taxBisaH.cod_nivel | ||
+ | |||
+ | LEFT JOIN sis.tbl_municipios mun ON mun.idt_municipio = lin.cod_municipio | ||
+ | LEFT JOIN sis.tbl_estados est ON est.idt_estado = mun.cod_estado | ||
+ | LEFT JOIN sis.tbr_paises pais ON pais.idt_pais = est.cod_pais | ||
+ | |||
+ | LEFT join mic.tbr_descritores AS subs on lin.cod_substrato = subs.idt_descritor AND subs.cod_grupo_descritor = 4 | ||
+ | |||
+ | WHERE idt_colecao=3 AND pais.idt_pais=28 AND ac.sts_publico and sub.sts_publica and | ||
+ | tax.cod_nivel>3 AND (NOT tax.nme_taxonomia ILIKE '%Não%'); | ||
+ | |||
+ | ====finaliza aqui==== | ||
==Referências== | ==Referências== |
Edição das 19h03min de 18 de novembro de 2020
A Plataforma Alelo Recursos Genéticos, da qual faz parte o Sistema AleloMicro, participa de projetos e iniciativas de compartilhamento de dados e informações de recursos genéticos de microrganismos em favor da valorização dos acervos e da atividade de conservação de recursos genéticos com objetivo de promover o desenvolvimento da pesquisa voltada a alimentação e agricultura. A integração das bases de dados do Sistema AleloMicro com o sistema SiBBr foi constituída a partir da ferramenta IPT (Integrated Publishing Toolkit) para estrutruração de conjunto de dados definidos a partir do reconhecimento dos padrões admitidos no desenho de informações do sistema Darwin Core. A documentação a seguir apresenta o dicionário de conversão de tabela de dados de ambos os sistemas.
Índice
- 1 nme_escopo
- 2 nme_instituicao
- 3 nme_colecao
- 4 subcolecao
- 5 brm
- 6 codigo_subcolecao
- 7 familia
- 8 genero
- 9 especie
- 10 subcategoria_taxonomia
- 11 hosp_familia
- 12 hosp_genero
- 13 hosp_especie
- 14 hosp_subcategoria
- 15 codigos_outras_instituicoes
- 16 nome_pais
- 17 nome_estado
- 18 nome_municipio
- 19 altitude
- 20 latitude
- 21 longitude
- 22 substrato
- 23 bioma_brasileiro
- 24 categoria_linhagem
- 25 metodo_identificacao
- 26 metodo_isolamento
- 27 meio_cultura_isolamento
- 28 coletores
- 29 identificadores
- 30 isoladores
- 31 Referências
nme_escopo
nme_instituicao
nme_colecao
subcolecao
SELECT 'Embrapa Recursos Genéticos e Biotecnologia' AS nme_instituicao, nme_colecao, sgl_subcolecao || '-' || nme_subcolecao AS subcolecao, sgl_escopo || ' ' || LPAD(CAST(idt_linhagem AS VARCHAR), 6, '0') || '/' || pfx_subcolecao || ' ' || CAST(num_subcolecao AS VARCHAR) AS numero_catalogo, 'BRA/' || sgl_subcolecao || '/' || sgl_escopo || ' ' ||
brm
codigo_subcolecao
LPAD(CAST(idt_linhagem AS VARCHAR), 6, '0') || '/' || pfx_subcolecao || ' ' || CAST(num_subcolecao AS VARCHAR) AS idt_ocorrencia, 'PreservedSpecimen' as basisofrecord,
familia
genero
especie
subcategoria_taxonomia
case when niv.idt_nivel = 3 then 'class' else case when niv.idt_nivel = 4 then 'order' else case when niv.idt_nivel = 5 then 'family' else case when niv.idt_nivel = 6 then 'genus' else case when niv.idt_nivel = 7 then 'species' else case when niv.idt_nivel = 8 then 'subspecies' else end end end end end end as rank_taxonomico,
reino
case when niv.idt_nivel>0 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 1) else end as reino,
filo
case when niv.idt_nivel>1 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 2) else end as filo,
classe
case when niv.idt_nivel>2 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 3) else end as classe,
ordem
case when niv.idt_nivel>3 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 4) else end as ordem,
familia
case when niv.idt_nivel>4 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 5) else end as familia,
genero
case when niv.idt_nivel>5 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 6) else end as genero,
especie
case when (case when niv.idt_nivel>6 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 7) else end) = 'sp.' then else (case when niv.idt_nivel>6 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 7) else end) end as especie,
subcategoria
case when niv.idt_nivel>7 then split_part( (case when taxTata8.nme_taxonomia is null then else (taxTata8.nme_taxonomia || ',') end || case when taxTata7.nme_taxonomia is null then else (taxTata7.nme_taxonomia || ',') end || case when taxTata6.nme_taxonomia is null then else (taxTata6.nme_taxonomia || ',') end || case when taxTata.nme_taxonomia is null then else (taxTata.nme_taxonomia || ',') end || case when taxBisa.nme_taxonomia is null then else (taxBisa.nme_taxonomia || ',') end || case when taxAvo.nme_taxonomia is null then else (taxAvo.nme_taxonomia || ',') end || case when taxPai.nme_taxonomia is null then else (taxPai.nme_taxonomia || ',') end || case when tax.nme_taxonomia is null then else tax.nme_taxonomia end), ',', 8) else end as subcategoria,
hosp_familia
hosp_genero
hosp_especie
hosp_subcategoria
replace( (CASE WHEN (taxH.nme_taxonomia ILIKE '%Não%') THEN ELSE CASE WHEN nivAvoH.nme_nivel='Gênero' THEN taxAvoH.nme_taxonomia ELSE CASE WHEN nivPaiH.nme_nivel='Gênero' THEN taxPaiH.nme_taxonomia ELSE END END END || CASE WHEN (taxH.nme_taxonomia ILIKE '%Não%') THEN ELSE CASE WHEN nivPaiH.nme_nivel='Espécie' THEN (' ' || taxPaiH.nme_taxonomia) ELSE CASE WHEN nivH.nme_nivel='Espécie' THEN (' ' || taxH.nme_taxonomia) ELSE END END END || CASE WHEN (taxH.nme_taxonomia ILIKE '%Não%') THEN ELSE CASE WHEN nivH.nme_nivel='Subcategoria' THEN (' ' || taxH.nme_taxonomia) ELSE END end), ' sp.', ) AS hospedeiro,
codigos_outras_instituicoes
nome_pais
nome_estado
nome_municipio
(SELECT STRING_AGG('(' || num_codigo || ') ' || insCod.nme_instituicao, '; ') FROM mic.tbl_codigos AS cod JOIN sis.tbl_instituicoes AS insCod ON insCod.idt_instituicao=cod.cod_instituicao WHERE cod_linhagem=idt_linhagem) AS CODIGOS_OUTRAS_INSTITUICOES, CASE WHEN (nme_pais ILIKE '%Não%') THEN ELSE nme_pais END AS nome_pais, CASE WHEN (nme_estado ILIKE '%Não%') THEN ELSE nme_estado END AS nome_estado, CASE WHEN (sts_municipio_publico AND nme_municipio ILIKE '%Não%') THEN ELSE nme_municipio END AS nome_municipio,
altitude
latitude
longitude
substrato
CASE WHEN sts_geo_publico THEN num_altitude ELSE NULL END AS altitude, CASE WHEN sts_geo_publico THEN num_latitude ELSE NULL END AS latitude , CASE WHEN sts_geo_publico THEN num_longitude ELSE NULL END AS longitude,
subs.nme_descritor as substrato,
bioma_brasileiro
(SELECT STRING_AGG(nme_descritor, '; ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Bioma Brasileiro' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) AS Bioma_BR_habitat,
categoria_linhagem
metodo_identificacao
left(case when (SELECT STRING_AGG(nme_descritor, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Método de Identificação' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) is null then else (SELECT STRING_AGG(nme_descritor, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Método de Identificação' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) || ' | ' end ||
metodo_isolamento
case when (SELECT STRING_AGG(nme_descritor, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Método de Isolamento' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) is null then else (SELECT STRING_AGG(nme_descritor, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Método de Isolamento' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) || ' | ' end ||
meio_cultura_isolamento
case when (SELECT STRING_AGG(nme_descritor, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Meio de Cultura de Isolamento' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) is null then else (SELECT STRING_AGG(nme_descritor, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Meio de Cultura de Isolamento' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) || ' | ' end, -3) AS sampling_protocol,
coletores
(SELECT STRING_AGG(nme_grupo_descritor || ': ' || nme_usuario, '; ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN usr.tbl_usuarios AS us ON lc.cod_usuario=us.idt_usuario WHERE left(gd.txt_filtro,1)='p' AND cod_linhagem=lin.idt_linhagem) AS pessoas,
(SELECT STRING_AGG(nme_usuario, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN usr.tbl_usuarios AS us ON lc.cod_usuario=us.idt_usuario WHERE nme_grupo_descritor='Coletor' AND left(gd.txt_filtro,1)='p' AND cod_linhagem=lin.idt_linhagem) AS coletores_recordby,
identificadores
(SELECT STRING_AGG(nme_usuario, ' | ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN usr.tbl_usuarios AS us ON lc.cod_usuario=us.idt_usuario WHERE nme_grupo_descritor='Identificador' AND left(gd.txt_filtro,1)='p' AND cod_linhagem=lin.idt_linhagem) AS identificadores_identifiedby,
isoladores
left( case when (SELECT STRING_AGG(nme_descritor, '; ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Categoria da Linhagem' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) is null then else 'Categoria da Linhagem: ' || (SELECT STRING_AGG(nme_descritor, '; ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN mic.tbr_descritores AS dc ON dc.idt_descritor=lc.cod_descritor WHERE nme_grupo_descritor='Categoria da Linhagem' AND left(gd.txt_filtro,1)='d' AND cod_linhagem=lin.idt_linhagem) || ' | ' end || case when (SELECT STRING_AGG(nme_usuario, '; ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN usr.tbl_usuarios AS us ON lc.cod_usuario=us.idt_usuario WHERE nme_grupo_descritor='Isolador' AND left(gd.txt_filtro,1)='p' AND cod_linhagem=lin.idt_linhagem) is null then else 'Isolador: ' || (SELECT STRING_AGG(nme_usuario, '; ') FROM mic.tba_linhagens_descritores AS lc JOIN mic.tbr_grupos_descritores AS gd ON gd.idt_grupo_descritor=lc.cod_grupo_descritor JOIN usr.tbl_usuarios AS us ON lc.cod_usuario=us.idt_usuario WHERE nme_grupo_descritor='Isolador' AND left(gd.txt_filtro,1)='p' AND cod_linhagem=lin.idt_linhagem) || ' | ' end, -3) AS identificationremarks,
datas?
dta_coleta as eventdate,
dta_primeiro_lote as dateidentified
FROM mic.tbr_escopos JOIN mic.tbl_subcolecoes AS sub ON idt_escopo=cod_escopo JOIN sis.tbl_instituicoes as insSub ON insSub.idt_instituicao=sub.cod_instituicao JOIN mic.tbl_colecoes ON idt_colecao=cod_colecao JOIN mic.tbl_linhagens AS lin ON idt_subcolecao=lin.cod_subcolecao JOIN mic.tbl_acessos AS ac ON idt_linhagem=cod_linhagem LEFT JOIN tax.tbl_taxonomias AS tax ON tax.idt_taxonomia = lin.cod_taxonomia LEFT JOIN tax.tbl_taxonomias AS taxPai ON taxPai.idt_taxonomia = tax.cod_pai LEFT JOIN tax.tbl_taxonomias AS taxAvo ON taxAvo.idt_taxonomia = taxPai.cod_pai LEFT JOIN tax.tbl_taxonomias AS taxBisa ON taxBisa.idt_taxonomia = taxAvo.cod_pai LEFT JOIN tax.tbl_taxonomias AS taxTata ON case when taxBisa.cod_pai is null then false else taxTata.idt_taxonomia = taxBisa.cod_pai end LEFT JOIN tax.tbl_taxonomias AS taxTata6 ON case when taxTata.cod_pai is null then false else taxTata6.idt_taxonomia = taxTata.cod_pai end LEFT JOIN tax.tbl_taxonomias AS taxTata7 ON case when taxTata.cod_pai is null then false else taxTata7.idt_taxonomia = taxTata6.cod_pai end LEFT JOIN tax.tbl_taxonomias AS taxTata8 ON case when taxTata.cod_pai is null then false else taxTata8.idt_taxonomia = taxTata7.cod_pai end LEFT JOIN tax.tbr_niveis AS niv ON niv.idt_nivel=tax.cod_nivel
LEFT JOIN tax.tbl_taxonomias AS taxH ON taxH.idt_taxonomia = lin.cod_hospedeiro LEFT JOIN tax.tbl_taxonomias AS taxPaiH ON taxPaiH.idt_taxonomia = taxH.cod_pai LEFT JOIN tax.tbl_taxonomias AS taxAvoH ON taxAvoH.idt_taxonomia = taxPaiH.cod_pai LEFT JOIN tax.tbl_taxonomias AS taxBisaH ON taxBisaH.idt_taxonomia = taxAvoH.cod_pai LEFT JOIN tax.tbr_niveis AS nivH ON nivH.idt_nivel=taxH.cod_nivel LEFT JOIN tax.tbr_niveis AS nivPaiH ON nivPaiH.idt_nivel=taxPaiH.cod_nivel LEFT JOIN tax.tbr_niveis AS nivAvoH ON nivAvoH.idt_nivel=taxAvoH.cod_nivel LEFT JOIN tax.tbr_niveis AS nivBisaH ON nivBisaH.idt_nivel=taxBisaH.cod_nivel
LEFT JOIN sis.tbl_municipios mun ON mun.idt_municipio = lin.cod_municipio LEFT JOIN sis.tbl_estados est ON est.idt_estado = mun.cod_estado LEFT JOIN sis.tbr_paises pais ON pais.idt_pais = est.cod_pais
LEFT join mic.tbr_descritores AS subs on lin.cod_substrato = subs.idt_descritor AND subs.cod_grupo_descritor = 4 WHERE idt_colecao=3 AND pais.idt_pais=28 AND ac.sts_publico and sub.sts_publica and tax.cod_nivel>3 AND (NOT tax.nme_taxonomia ILIKE '%Não%');