select distinct
Log_Importacao_Xml.codMsgImportacao,
Log_Importacao_Xml.danfe,
Log_Importacao_Xml.codProduto,
log_importacao_xml.codfornecedor
from EspelhoXmlNfe
inner join Log_Importacao_Xml on Log_Importacao_Xml.danfe = EspelhoXmlNfe.infNfe
inner join Msg_Importacao_Xml on Msg_Importacao_Xml.codMsgImportacao = Log_Importacao_Xml.codMsgImportacao
where EspelhoXmlNfe.tpNF = 1 and (EspelhoXmlNfe.dhEmi >= :P110_DATAINI and EspelhoXmlNfe.dhEmi <= :P110_DATAFIM)
)
select
(select x.codmsgimportacao || ' - ' || x.msgImportacao from msg_importacao_xml x where x.codmsgimportacao = dados.codmsgimportacao) as msg_erro,
count(dados.danfe) as valor
from dados
inner join EspelhoXmlNfe on EspelhoXmlNfe.infNfe = dados.danfe
inner join Nfe_Danfe on Nfe_Danfe.codDanfe = EspelhoXmlNfe.infNfe
inner join Pessoa on pessoa.codPessoa = EspelhoXmlNfe.codPessoaEmit
inner join Fornecedor on Fornecedor.codFornecedor = Pessoa.codPessoa and not Fornecedor.codRamo = 6
inner join produto on produto.codpessoafornecedor = dados.codfornecedor
group by dados.codmsgimportacao
order by valor desc