Ir para conteúdo
  • 0
Hugo Rodrigues Campigotto

[Resolvido] Quantos porcento N item representa no total geral - Consulta

Pergunta

Olá pessoal, bom dia.

Sou novo aqui no fórum e também iniciante em SQL. Gostaria da ajuda de vocês para finalizar a query abaixo:

 

Preciso de uma query que me dê o resultado da tabela abaixo:

ibexpert-query-perc-total-vendedor.jpg.fa71dbacf21012d5548abdad259ca7d0.jpg

 

Para tentar chegar a ela, fiz este código:

 

select p.vendedor, v.nome, sum(total) as TT, (A.SubTotal / B.Total * 100) as Perc

from pedidos p, vendedores v, ((select vendedor, sum(total) as SubTotal from pedidos group by vendedor) as A

cross join (select sum(total) as Total from pedidos) as B))

where p.vendedor = v.codigo

group by v.nome, p.vendedor

order by TT desc

 

Porém, o IBExpert me dá este erro anexo:

ibexpert-erro-query-perc-total-vendedor.thumb.jpg.5c7738526f9b6ead8f8c4510015f9d94.jpg

 

Alguém poderia me ajudar neste problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

12 respostas a esta questão

Recommended Posts

  • 0

Qual BD ?

Alguns tem "analytic functions" que facilitam muito queries assim.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
22 horas atrás, Motta disse:

 

Pelo que entendi, Motta, este recurso está disponível para a versão 3 do Firebird, correto?

Se for isso, tenho um problema, pois o banco que em estou trabalhando é mais antigo e, por isso estou tendo que usar a versão 2.0.

Faz sentido o que eu disse? Se sim, haveria outra forma de redigir esta query sem o OVER (pois não existe no 2.0)?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

A solução seria algo na linha do que vocêcestava fazendo , tendo tempo amanhã tento editar uma solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Pode ser que não funcione pois alguns bds não permitem tabelas virtuais

-- total por venderor
select p.vendedor, v.nome, sum(total) as TT
from pedidos p, vendedores v
where p.vendedor = v.codigo
group by v.nome, p.vendedor

--total geral

select sum(total) as TG
from pedidos p, vendedores v
where p.vendedor = v.codigo 

--GERAL
select vendedor, nome ,TT,TG ,ROUND(((TT/TG)*100),20 PERC
FROM (select p.vendedor, v.nome, sum(total) as TT , totg.TG
        from pedidos p, vendedores v , (select sum(total) as TG
                                        from pedidos p, vendedores v
                                        where p.vendedor = v.codigo) totg
        where p.vendedor = v.codigo
        group by v.nome, p.vendedor) X

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
6 horas atrás, Motta disse:

Pode ser que não funcione pois alguns bds não permitem tabelas virtuais


-- total por venderor
select p.vendedor, v.nome, sum(total) as TT
from pedidos p, vendedores v
where p.vendedor = v.codigo
group by v.nome, p.vendedor

--total geral

select sum(total) as TG
from pedidos p, vendedores v
where p.vendedor = v.codigo 

--GERAL
select vendedor, nome ,TT,TG ,ROUND(((TT/TG)*100),20 PERC
FROM (select p.vendedor, v.nome, sum(total) as TT , totg.TG
        from pedidos p, vendedores v , (select sum(total) as TG
                                        from pedidos p, vendedores v
                                        where p.vendedor = v.codigo) totg
        where p.vendedor = v.codigo
        group by v.nome, p.vendedor) X

 

Motta, infelizmente não rodou.

Eu consegui dar uma melhorada no código e ele me trouxe "quase" o que preciso:

 

select

    vendedor, A.SubTotal, (A.SubTotal / B.Total * 100) as Perc

from

    (select vendedor, sum(total) as SubTotal from pedidos group by vendedor) as A

    cross join (select sum(total) as Total from pedidos ) as B

order by Perc desc

 

ibexpert-query-perc-total-sem-nome-vendedor.jpg.e4555b28adb3a0597ea01097cae01a6c.jpg

 

O que está faltando agora é trazer o nome do vendedor que fica na tabela vendedores.

Estou tentando fazer por este código abaixo, mas ele entende que tem que replicar o nome para cada valor:

 

select distinct
  p.vendedor, v.nome, A.SubTotal, (A.SubTotal / B.Total * 100) as Perc
from
  pedidos p, vendedores v,
  (select p.vendedor, v.nome, sum(total) as SubTotal from pedidos p, vendedores v
   where p.vendedor = v.codigo group by p.vendedor, v.nome) as A
  cross join (select sum(total) as Total from pedidos p, vendedores v
   where p.vendedor = v.codigo ) as B
where p.vendedor = v.codigo
order by p.vendedor asc, Perc desc

 

ibexpert-erro-query-perc-total-vendedor-replicando.jpg.94fe5d20f9262660b0a290261b578ea3.jpg

 

E agora, consegue me dar mais uma pista?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

TENTOU

select distinct
  p.vendedor, v.nome, A.SubTotal, (A.SubTotal / B.Total * 100) as Perc
from

  (select p.vendedor, v.nome, sum(total) as SubTotal from pedidos p, vendedores v
   where p.vendedor = v.codigo group by p.vendedor, v.nome) as A
  cross join (select sum(total) as Total from pedidos p, vendedores v
   where p.vendedor = v.codigo ) as B

order by p.vendedor asc, Perc desc

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
18 horas atrás, Motta disse:

TENTOU


select distinct
  p.vendedor, v.nome, A.SubTotal, (A.SubTotal / B.Total * 100) as Perc
from

  (select p.vendedor, v.nome, sum(total) as SubTotal from pedidos p, vendedores v
   where p.vendedor = v.codigo group by p.vendedor, v.nome) as A
  cross join (select sum(total) as Total from pedidos p, vendedores v
   where p.vendedor = v.codigo ) as B

order by p.vendedor asc, Perc desc

 

 

Ele está dando erro no select, pois, como foi tirada as tabelas (pedidos p e vendedores v), ele não está conseguindo selecionar os campos p.vendedor e v.nome da primeira linha!

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

creio ser só trocar os aliases


 

select distinct
  a.vendedor, a.nome, A.SubTotal, (A.SubTotal / B.Total * 100) as Perc
from

  (select p.vendedor, v.nome, sum(total) as SubTotal from pedidos p, vendedores v
   where p.vendedor = v.codigo group by p.vendedor, v.nome) as A
  cross join (select sum(total) as Total from pedidos p, vendedores v
   where p.vendedor = v.codigo ) as B

order by p.vendedor asc, Perc desc

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
5 horas atrás, Motta disse:

creio ser só trocar os aliases


 


select distinct
  a.vendedor, a.nome, A.SubTotal, (A.SubTotal / B.Total * 100) as Perc
from

  (select p.vendedor, v.nome, sum(total) as SubTotal from pedidos p, vendedores v
   where p.vendedor = v.codigo group by p.vendedor, v.nome) as A
  cross join (select sum(total) as Total from pedidos p, vendedores v
   where p.vendedor = v.codigo ) as B

order by p.vendedor asc, Perc desc

 

 

Muito bem, Motta!!! Agora deu certo. Muitíssimo obrigado pela ajuda!!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Fabiana Gomes
      Pessoal, boa noite
       
      Preciso de um help!!
       
      Tenho a tabela ENDERECO e na coluna LOUGRADOURO (40) preciso diminuir alguns endereços para 30 caracteres.
      Basicamente preciso cortar a partir da casa 30.
       
      Alguem pode me ajudar?
    • Por Lucast
      Boa tarde galera,
       
      Estou tentando fazer a soma de duas colunas no SQL e queria que ela me retornasse o valor separado em uma coluna a parte, podem me ajudar?
       
      Isso é o que estou fazendo
       
      SELECT MONTH(workOrderDate) AS MES, (SUM(CASE WHEN WorkType = '02' AND workOrderDescription = 'preventiva' THEN 1.0 ELSE 0 END)) AS preventiva, (SUM(CASE WHEN workOrderDescription = 'CORRETIVA' THEN 1 ELSE 0 END)) AS corretivas FROM WorkOrder WHERE YEAR(workOrderDate) = 2018 AND lastUpdateData IS NOT NULL GROUP BY MONTH(workOrderDate);  
      Esse resultado me retorna esses valores:
       
      https://imgur.com/5XqbmFX
       
      Preciso que ele me retorne uma coluna ao lado informando a soma de ambas as colunas.
       
      Alguém consegue me ajudar?
       
       
    • Por eduardohaag
      Boa noite pessoal,
      Esbarrei em um novo problema com consultas no meu sistema.
       
      Tenho um formulário no sistema que deverá apresentar todos os materiais utilizados em uma determinada Venda e seus respectivos estoques obtidos através da soma das entradas e saidas do estoque.
      Para isso devo buscar os dados em 3 tabelas do banco de dados sendo elas VendasProdutos, Composicao,  Materiais e Estoque

       
      Eis que surge meu problema, como posso ter vários produtos na venda e alguns produtos usam os mesmos materiais, a consulta está retornando com os materiais duplicados, quando o que eu gostaria era que somasse de acordo com cada material.
       
      A query que estou usando para teste no acesso é a seguinte:
      SELECT Composicao.IdMaterial, materiais.descricao, Sum(Estoque.Quantidade) AS Estoque, [VendasProdutos]![Quantidade]*[Composicao]![Quantidade] AS TotalUtilizado FROM (VendasProdutos LEFT JOIN (materiais RIGHT JOIN Composicao ON materiais.ID = Composicao.IdMaterial) ON VendasProdutos.IdProduto = Composicao.IdProduto) LEFT JOIN Estoque ON materiais.ID = Estoque.IdMaterial GROUP BY Composicao.IdMaterial, materiais.descricao, [VendasProdutos]![Quantidade]*[Composicao]![Quantidade], VendasProdutos.IdVenda HAVING (((VendasProdutos.IdVenda)=1));  
      A consulta está retornando os dados dessa forma:

       
      E eu gostaria de que agrupasse por ex:
       
      ID                Descricao                Estoque               TotalUtilizado
      1                 Capa Agenda             34                             10
      2                 Miolo Agenda            27                              5
       
      Alguem Sabe como posso fazer isso?
      Desulpem pelo post gigante, mas não sabia como explicar melhor.
    • Por Lucast
      Olá galera estou fazendo um select em duas tabelas porém preciso que o valor delas seja subtraido porém eu ja tentei e não consegui, deixarei o codigo abaixo das querys que preciso fazer a subtração
       
      SELECT COUNT(*) AS MES  
    • Por nicolasbessa
      Galera,
      Uma ajuda, Por gentileza!
       
      Tenho a query abaixo para ser trabalhada a performance. A mesma é uma view, realiza consulta diversas vezes na mesma tabela para montar alguns campos.
      Gostaria de ideias para melhorar a mesma, desde já agradeço!
       

        CREATE OR REPLACE FORCE EDITIONABLE VIEW "LF"."VW_CTM_JNJ_ENTSAI_TABLEAU" ("TIPO_NF", "COD_HOLDING", "COD_MATRIZ", "COD_FILIAL", "ID_NF", "NUM_NF", "SERIE", "COD_MODELO", "COD_CFOP_LEGAL", "COD_CLIFOR", "DT_EMISSAO", "DT_LANCAMENTO", "DT_ENTRADA", "COD_STATUS", "COD_UF", "MUNICIPIO", "RAZAOSOCIAL", "CGC_CPF", "VLR_TOTAL_PRODUTOS", "TOTAL_ITEM", "ICMS_BASE_TOTAL", "ICMS_VALOR_TOTAL", "ICMS_ST_BASE_TOTAL", "ICMS_ST_VALOR_TOTAL", "VLR_FRETE", "VLR_SEGURO", "VLR_DESPESAS", "IPI_TRIBUTADO", "IPI_NAO_TRIBUTADO", "DOCNUM", "ID_ITEM", "COD_PRODUTO", "COD_UNID_MEDIDA", "COD_CLASSIF_FISCAL", "QUANTIDADE", "VLR_UNITARIO", "VLR_DESCONTO", "DESCRICAO_NOTA", "DIG_CFOP", "COD_GRP_PRODUTO", "COD_IVA", "COD_ORIGEM_PROD", "CTA_CTB_MATERIAL", "LANCTO_CONTABIL", "CHAVE_NF_E", "NUMERO_DI", "COD_TRIBUT_ICMS", "COD_SIT_TRIB_IPI", "COD_IMPOSTO", "BASE_CALCULO_1", "BASE_CALCULO_2", "BASE_CALCULO_3", "VLR_IMPOSTO_ICMS_1", "VLR_IMPOSTO_ICMS_2", "ALIQUOTA_ICMS_1", "ALIQUOTA_ICMS_2", "COD_TRIBUT_IPI", "BASE_CALCULO_IPI_1", "BASE_CALCULO_IPI_2", "BASE_CALCULO_IPI_3", "ALIQUOTA_IPI", "VLR_IMPOSTO_IPI", "BASE_CALCULO_ST_1", "BASE_CALCULO_ST_2", "BASE_CALCULO_ST_3", "ALIQUOTA_ST", "VLR_IMPOSTO_ST", "BASE_CALCULO_DIFAL", "ALIQUOTA_DIFAL", "VLR_IMPOSTO_DIFAL", "BASE_CALCULO_J6", "VLR_IMPOSTO_J6", "BASE_CALCULO_J7", "VLR_IMPOSTO_J7", "BASE_CALCULO_J8", "VLR_IMPOSTO_J8", "BASE_CALCULO_PIS_1", "BASE_CALCULO_PIS_2", "BASE_CALCULO_PIS_3", "ALIQUOTA_PIS", "VLR_IMPOSTO_PIS", "COD_SIT_TRIB_PIS", "BASE_CALCULO_COFINS_1", "BASE_CALCULO_COFINS_2", "BASE_CALCULO_COFINS_3", "ALIQUOTA_COFINS", "VLR_IMPOSTO_COFINS", "COD_SIT_TRIB_COF") AS 
        select distinct
                    'E'                  TIPO_NF,
                     a.COD_HOLDING,
                     a.COD_MATRIZ,
                     a.COD_FILIAL,
                     a.ID_NF_ENTRADA     ID_NF,
                     A.NUM_NF,
                     A.SERIE,
                     A.COD_MODELO,
                     a.COD_CFOP_LEGAL,
                     a.COD_CLIFOR,
                     A.DT_EMISSAO,
                     a.DT_LANCAMENTO,
                     a.DT_ENTRADA,
                     a.COD_STATUS,
                     a.COD_UF,
                     A.MUNICIPIO,
                     A.RAZAOSOCIAL,
                     A.CGC_CPF,
                     A.VLR_TOTAL_PRODUTOS,
                     B.VLR_BRUTO           TOTAL_ITEM,
                     A.ICMS_BASE_TOTAL,
                     A.ICMS_VALOR_TOTAL,
                     A.ICMS_ST_BASE_TOTAL,
                     A.ICMS_ST_VL_TOTAL    ICMS_ST_VALOR_TOTAL,
                     A.VLR_FRETE,
                     A.VLR_SEGURO,
                     A.VLR_DESPESAS,
                     A.IPI_TRIBUTADO,
                     a.IPI_NAO_TRIBUTADO,
                     a.DOCNUM,
                     b.id_item,
                     b.COD_PRODUTO,
                     b.COD_UNID_MEDIDA,
                     b.COD_CLASSIF_FISCAL,
                     b.QUANTIDADE,
                     b.VLR_UNITARIO,
                     b.VLR_DESCONTO,
                     b.DESCRICAO_NOTA,
                     b.dig_cfop,
                     b.cod_grp_produto, 
                     b.cod_iva,
                     C.COD_ORIGEM_PROD,
                     B.CTA_CTB_MATERIAL,
                     A.LANCTO_CONTABIL,
                     A.CHAVE_NF_E,
                     A.NUMERO_DI,
                     c.COD_TRIBUT_ICMS,
                     c.COD_SIT_TRIB_IPI,  
                     -- DADOS DO IMPOSTO 01
                     c.COD_IMPOSTO,
                    (SELECT NVL(base_calculo,0)
                     FROM   LF_NF_entrada_IMPOSTO
                     WHERE  cod_holding   = b.cod_holding
                     and    cod_matriz    = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    id_nf_entrada   = b.id_nf_entrada
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '01'
                     and    cod_tp_lanc_imp = '1'             
                     AND    ROWNUM          = 1)  base_calculo_1,
                     --
                    (SELECT NVL(base_calculo,0)
                     FROM   LF_NF_entrada_IMPOSTO
                     WHERE  cod_holding   = b.cod_holding
                     and    cod_matriz    = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    id_nf_entrada   = b.id_nf_entrada
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '01'
                     and    cod_tp_lanc_imp = '2'             
                     AND    ROWNUM          = 1)  base_calculo_2,
                     --
                    (SELECT NVL(base_calculo,0)
                     FROM   LF_NF_entrada_IMPOSTO
                     WHERE  cod_holding   = b.cod_holding
                     and    cod_matriz    = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    id_nf_entrada   = b.id_nf_entrada
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '01'
                     and    cod_tp_lanc_imp = '3'             
                     AND    ROWNUM          = 1)  base_calculo_3,
                     --   
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '01'
                   and    cod_tp_lanc_imp = '1'
                   AND    ROWNUM        = 1)  vlr_imposto_icms_1,
                   --
                   (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '01'
                   and    cod_tp_lanc_imp = '2'
                   AND    ROWNUM        = 1)  vlr_imposto_icms_2,
                   --
                   -- Recupera a Aliquota do imposto IPI
                  (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '01'
                   and    cod_tp_lanc_imp = '1'
                   AND    ROWNUM        = 1)  aliquota_ICMS_1,  
                   --
                   (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '01'
                   and    cod_tp_lanc_imp = '2'
                   AND    ROWNUM        = 1)  aliquota_ICMS_2,
                   --
                   --Recuperar o Valor do CST IPI
                  (SELECT cod_tribut_ipi
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding     = b.cod_holding
                   and    cod_matriz      = b.cod_matriz
                   and    cod_filial      = b.cod_filial
                   and    id_nf_entrada   = b.id_nf_entrada
                   AND    id_item         = b.id_item
                   AND    COD_TP_LANC_IMP = '1'
                   AND    COD_IMPOSTO     = '02'
                   AND    ROWNUM          = 1)  cod_tribut_ipi,
                   -- Recupera o Valor da Base de Calculo do imposto IPI
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '02'
                   AND    COD_TP_LANC_IMP = '1'
                   AND    ROWNUM        = 1)  base_calculo_ipi_1,
                  -- Recupera o Valor da Base de Calculo do imposto IPI
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '02'
                   AND    COD_TP_LANC_IMP = '2'
                   AND    ROWNUM        = 1)  base_calculo_ipi_2,
                  -- Recupera o Valor da Base de Calculo do imposto IPI
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '02'
                   AND    COD_TP_LANC_IMP = '3'
                   AND    ROWNUM        = 1)  base_calculo_ipi_3,             --
                   -- Recupera a Aliquota do imposto IPI
                  (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '02'
                   AND    ROWNUM        = 1)  aliquota_ipi,
                   -- Recupera o Valor do imposto IPI
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '02'
                   AND    ROWNUM        = 1)  vlr_imposto_ipi,
                   --
                   -- Recuperar Valores do Imposto 03
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 03
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '03'
                   AND    COD_TP_LANC_IMP = '1'
                   AND    ROWNUM        = 1)  base_calculo_st_1,
                    -- Recupera o Valor da Base de Calculo do imposto 03
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '03'
                   AND    COD_TP_LANC_IMP = '2'
                   AND    ROWNUM        = 1)  base_calculo_st_2, 
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 03
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '03'
                   AND    COD_TP_LANC_IMP = '3'
                   AND    ROWNUM        = 1)  base_calculo_st_3,
                   -- Recupera o Tipo de lancamento do imposto 03 - Substituicao Tributaria
                  (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '03'
                   AND    ROWNUM        = 1)  aliquota_st,
                   -- Recupera o Valor do imposto 03 - Substituicao Tributaria
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '03'
                   AND    ROWNUM        = 1)  vlr_imposto_st,
                   --
                   -- Recuperar valores do Imposto 04
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 04 - DIFAL
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '04'
                   AND    ROWNUM        = 1)  base_calculo_difal,
                   --
                   -- Recupera a Aliquota do imposto 04 - DIFAL
                  (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '04'
                   AND    ROWNUM        = 1)  aliquota_difal,
                   -- Recupera o Valor do imposto 04 - DIFAL
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '04'
                   AND    ROWNUM        = 1)  vlr_imposto_difal,
                   --
                   -- Recuperar valores do Imposto J6
                   --
                   -- Recupera o Valor da Base de Calculo do imposto J6 - DIFAL
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = 'J6'
                   AND    ROWNUM        = 1)  base_calculo_J6,
                   --
                   -- Recupera o Valor do imposto J6
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = 'J6'
                   AND    ROWNUM        = 1)  vlr_imposto_J6,
                   --
                   -- Recuperar valores do Imposto J7
                   --
                   -- Recupera o Valor da Base de Calculo do imposto J7
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = 'J7'
                   AND    ROWNUM        = 1)  base_calculo_J7,
                   --
                   -- Recupera o Valor do imposto J7
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = 'J7'
                   AND    ROWNUM        = 1)  vlr_imposto_J7,
                   --
                   -- Recuperar valores do Imposto J8
                   --
                   -- Recupera o Valor da Base de Calculo do imposto J8
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = 'J8'
                   AND    ROWNUM        = 1)  base_calculo_J8,
                   --
                   -- Recupera o Valor do imposto J8
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = 'J8'
                   AND    ROWNUM        = 1)  vlr_imposto_J8,
                   --
                   -- Recuperar Valores do Imposto 09 - PIS
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 09
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '09'
                   AND    COD_TP_LANC_IMP = '1'
                   AND    ROWNUM        = 1)  base_calculo_pis_1,
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 09
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '09'
                   AND    COD_TP_LANC_IMP = '2'
                   AND    ROWNUM        = 1)  base_calculo_pis_2,
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 09
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '09'
                   AND    COD_TP_LANC_IMP = '3'
                   AND    ROWNUM        = 1)  base_calculo_pis_3,
                   --
                   -- Recupera a Aliquota do imposto 09 - PIS
                  (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '09'
                   AND    ROWNUM        = 1)  aliquota_pis,
                   -- Recupera o Valor do imposto 09 - PIS
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '09'
                   AND    ROWNUM        = 1)  vlr_imposto_pis,
                   -- Recupera o Codigo da situacao tributaria do imposto 09 - PIS
                  (SELECT cod_sit_trib_PIS
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '09'
                   AND    ROWNUM        = 1)  cod_sit_trib_pis,
                   --
                   -- Recuperar Valores do Imposto 10 - COFINS
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 10
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '10'
                   AND    COD_TP_LANC_IMP = '1'
                   AND    ROWNUM        = 1)  base_calculo_cofins_1,
                   -- Recupera o Valor da Base de Calculo do imposto 10
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '10'
                   AND    COD_TP_LANC_IMP = '2'
                   AND    ROWNUM        = 1)  base_calculo_cofins_2,
                   --
                   -- Recupera o Valor da Base de Calculo do imposto 10
                  (SELECT NVL(base_calculo,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '10'
                   AND    COD_TP_LANC_IMP = '3'
                   AND    ROWNUM        = 1)  base_calculo_cofins_3,
                   --
                   -- Recupera a Aliquota do imposto 10 - COFINS
                  (SELECT nvl(aliquota,0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '10'
                   AND    ROWNUM        = 1)  aliquota_cofins,
                   -- Recupera o Valor do imposto 10 - COFINS
                  (SELECT nvl(vlr_imposto, 0)
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '10'
                   AND    ROWNUM        = 1)  vlr_imposto_cofins,
                   -- Recupera o Codigo da situacao tributaria do imposto 10 - COFINS
                  (SELECT cod_sit_trib_cof
                   FROM   LF_NF_entrada_IMPOSTO
                   WHERE  cod_holding   = b.cod_holding
                   and    cod_matriz    = b.cod_matriz
                   and    cod_filial    = b.cod_filial
                   and    id_nf_entrada = b.id_nf_entrada
                   AND    id_item       = b.id_item
                   AND    COD_IMPOSTO   = '10'
                   AND    ROWNUM        = 1)  cod_sit_trib_cof
              from   lf_nf_entrada          a,
                     lf_nf_entrada_item     b,
                     lf_nf_entrada_imposto  c
              where  a.cod_holding   = 'JNJ BR'
              and    a.dt_entrada >= to_date('01/01/2013','dd/mm/yyyy')
              and    a.cod_status  = '01'
              and    b.cod_holding  = a.cod_holding
              and    b.cod_matriz   = a.cod_matriz
              and    b.cod_filial   = a.cod_filial
              and    b.id_nf_entrada = a.id_nf_entrada
              and    c.cod_holding   = b.cod_holding
              and    c.cod_matriz    = b.cod_matriz
              and    c.cod_filial    = b.cod_filial
              and    c.id_nf_entrada = b.id_nf_entrada
              and    c.id_item       = b.id_item
              and    c.cod_imposto   = '01'
             --
             UNION ALL
             --   
             select distinct 
                    'S'                   TIPO_NF,
                    a.COD_HOLDING,
                    a.COD_MATRIZ,
                    a.COD_FILIAL, 
                    NULL                  ID_NF,
                    a.NUM_NF,
                    A.SERIE,
                    A.COD_MODELO,
                    a.COD_CFOP_LEGAL,
                    a.COD_CLIFOR,
                    a.DT_EMISSAO,
                    NULL                  DT_LANCAMENTO,
                    a.dt_emissao          DT_ENTRADA,
                    A.COD_STATUS,
                    A.COD_UF,
                    A.MUNICIPIO,
                    A.RAZAOSOCIAL,
                    A.CGC_CPF,
                    a.VLR_TOTAL_PRODUTOS,
                    b.VLR_BRUTO           TOTAL_ITEM,
                    a.ICMS_BASE_TOTAL,
                    a.ICMS_VALOR_TOTAL,
                    a.ICMS_ST_BASE_TOTAL,
                    a.ICMS_ST_VALOR_TOTAL,
                    a.VLR_FRETE,
                    a.VLR_SEGURO,
                    a.VLR_DESPESAS,
                    a.IPI_TRIBUTADO,
                    a.IPI_NAO_TRIBUTADO,
                    A.DOCNUM,
                    b.id_item,
                    b.COD_PRODUTO,
                    b.COD_UNID_MEDIDA,
                    b.COD_CLASSIF_FISCAL,
                    b.QUANTIDADE,
                    b.VLR_UNITARIO,
                    b.VLR_DESCONTO,
                    b.DESCRICAO_NOTA,
                    b.dig_cfop,
                    b.cod_grp_produto,
                    b.cod_iva,
                    C.COD_ORIGEM_PROD,
                    B.CTA_CTB_MATERIAL,
                    A.LANCTO_CONTABIL,
                    A.CHAVE_NF_E,
                    NULL                NUMERO_DI,
                    c.COD_TRIBUT_ICMS,
                    c.COD_SIT_TRIB_IPI,  
                    c.COD_IMPOSTO,
                    --
                    (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '01'
                    and    cod_tp_lanc_imp = '1'
                    AND    ROWNUM          = 1 )  base_calculo_1,
                     --
                    (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '01'
                    and    cod_tp_lanc_imp = '2'             
                    AND    ROWNUM          = 1)  base_calculo_2,
                     --
                    (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '01'
                    and    cod_tp_lanc_imp = '3'             
                    AND    ROWNUM          = 1)  base_calculo_3,
                     --   
                  (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '01'
                    and    cod_tp_lanc_imp = '1'
                    AND    ROWNUM        = 1)  vlr_imposto_icms_1,
                    --
                    (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '01'
                    and    cod_tp_lanc_imp = '2'
                    AND    ROWNUM        = 1)  vlr_imposto_icms_2,
                   --
                   -- Recupera a Aliquota do imposto IPI
                  (SELECT nvl(aliquota,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '01'
                    and    cod_tp_lanc_imp = '1'
                    AND    ROWNUM          = 1)  aliquota_ICMS_1, 
                    --
                    (SELECT nvl(aliquota,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '01'
                    and    cod_tp_lanc_imp = '2'
                    AND    ROWNUM          = 1)  aliquota_ICMS_2,
                    --
                    --Recuperar o Valor do CST IPI
                   (SELECT cod_tribut_ipi
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '02'
                    and    cod_tp_lanc_imp = '1'
                    AND    ROWNUM          = 1)  cod_tribut_ipi,
                    --
                    -- Recupera o Valor da Base de Calculo do imposto IPI
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '02'
                    and    cod_tp_lanc_imp = '1'
                    AND    ROWNUM        = 1)  base_calculo_ipi_1,
                    --
                    -- Recupera o Valor da Base de Calculo do imposto IPI
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '02'
                    and    cod_tp_lanc_imp = '2'
                    AND    ROWNUM        = 1)  base_calculo_ipi_2,
                    --
                    -- Recupera o Valor da Base de Calculo do imposto IPI
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '02'
                    and    cod_tp_lanc_imp = '3'
                    AND    ROWNUM        = 1)  base_calculo_ipi_3,
                    -- Recupera o Tipo de lancamento do imposto IPI
                    -- Recupera a Aliquota do imposto IPI
                   (SELECT nvl(aliquota,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '02'
                    AND    ROWNUM          = 1)  aliquota_ipi,
                    -- Recupera o Valor do imposto IPI
                   (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '02'
                    AND    ROWNUM        = 1)  vlr_imposto_ipi,
                    --
                    -- Recuperar Valores do Imposto 03
                    --
                    -- Recupera o Valor da Base de Calculo do imposto 03
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '03'
                    and    cod_tp_lanc_imp = '1'
                    AND    ROWNUM          = 1)  base_calculo_st_1,
                    --
                    -- Recupera o Valor da Base de Calculo do imposto 03
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '03'
                    and    cod_tp_lanc_imp = '2'
                    AND    ROWNUM          = 1)  base_calculo_st_2,
                    --
                    -- Recupera o Valor da Base de Calculo do imposto 03
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_municipio   = b.cod_municipio
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '03'
                    and    cod_tp_lanc_imp = '3'
                    AND    ROWNUM          = 1)  base_calculo_st_3,
                    --
                    -- Recupera o Tipo de lancamento do imposto 03 - Substituicao Tributaria
                    -- Recupera a Aliquota do imposto Substituicao Tributaria
                   (SELECT nvl(aliquota,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '03'
                    AND    ROWNUM        = 1)  aliquota_st,
                    -- Recupera o Valor do imposto 03 - Substituicao Tributaria
                   (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '03'
                    AND    ROWNUM        = 1)  vlr_imposto_st,
                    --
                    -- Recuperar valores do Imposto 04
                    --
                    -- Recupera o Valor da Base de Calculo do imposto 04 - DIFAL
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = a.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '04'
                    AND    ROWNUM        = 1)  base_calculo_difal,
                    --
                    -- Recupera a Aliquota do imposto 04 - DIFAL
                   (SELECT nvl(aliquota,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO     = '04'
                    AND    ROWNUM          = 1)  aliquota_difal,
                    -- Recupera o Valor do imposto 04 - DIFAL
                   (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = '04'
                    AND    ROWNUM        = 1)  vlr_imposto_difal,
                    --
                    -- Recuperar valores do Imposto J6
                    --
                    -- Recupera o Valor da Base de Calculo do imposto J6 - DIFAL
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = 'J6'
                    AND    ROWNUM        = 1)  base_calculo_J6,
                    --
                    -- Recupera o Valor do imposto J6
                   (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = 'J6'
                    AND    ROWNUM        = 1)  vlr_imposto_J6,
                    --
                    -- Recuperar valores do Imposto J7
                    --
                    -- Recupera o Valor da Base de Calculo do imposto J7
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = 'J7'
                    AND    ROWNUM        = 1)  base_calculo_J7,
                    --
                    -- Recupera o Valor do imposto J7
                   (SELECT nvl(vlr_imposto, 0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = 'J7'
                    AND    ROWNUM        = 1)  vlr_imposto_J7,
                    --
                    -- Recuperar valores do Imposto J8
                    --
                    -- Recupera o Valor da Base de Calculo do imposto J8
                   (SELECT NVL(base_calculo,0)
                    FROM   lf_nf_saida_imposto
                    WHERE  cod_holding     = b.cod_holding
                    and    cod_matriz      = b.cod_matriz
                    and    cod_filial      = b.cod_filial
                    and    num_nf          = b.num_nf
                    and    serie           = b.serie
                    and    subserie        = b.subserie
                    and    dt_emissao      = b.dt_emissao
                    and    cod_cfop_legal  = b.cod_cfop_legal
                    and    cod_municipio   = b.cod_municipio
                    AND    id_item         = b.id_item
                    AND    COD_IMPOSTO   = 'J8'
                    AND    ROWNUM        = 1)  base_calculo_J8,
                    --
                    -- Recupera o Valor do imposto J8
                    (SELECT nvl(vlr_imposto, 0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = 'J8'
                     AND    ROWNUM        = 1)  vlr_imposto_J8,
                     --
                     -- Recuperar Valores do Imposto 09 - PIS
                     --
                     -- Recupera o Valor da Base de Calculo do imposto 09
                    (SELECT NVL(base_calculo,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '09'
                     and    cod_tp_lanc_imp = '1'
                     AND    ROWNUM        = 1)  base_calculo_pis_1,
                     --
                     -- Recupera o Valor da Base de Calculo do imposto 09
                    (SELECT NVL(base_calculo,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '09'
                     and    cod_tp_lanc_imp = '2'
                     AND    ROWNUM        = 1)  base_calculo_pis_2,
                     --
                     -- Recupera o Valor da Base de Calculo do imposto 09
                    (SELECT NVL(base_calculo,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '09'
                     and    cod_tp_lanc_imp = '3'
                     AND    ROWNUM        = 1)  base_calculo_pis_3,
                     --
                     -- Recupera o Tipo de lancamento do imposto 09 - PIS
                      -- Recupera a Aliquota do imposto 09 - PIS
                    (SELECT nvl(aliquota,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '09'
                     AND    ROWNUM        = 1)  aliquota_pis,
                     -- Recupera o Valor do imposto 09 - PIS
                    (SELECT nvl(vlr_imposto, 0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '09'
                     AND    ROWNUM        = 1)  vlr_imposto_pis,
                     -- Recupera o Codigo da situacao tributaria do imposto 09 - PIS
                    (SELECT cod_sit_trib_PIS
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '09'
                     AND    ROWNUM        = 1)  cod_sit_trib_pis,
                     --
                     -- Recuperar Valores do Imposto 10 - COFINS
                     --
                     -- Recupera o Valor da Base de Calculo do imposto 10
                    (SELECT NVL(base_calculo,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '10'
                     and    cod_tp_lanc_imp = '1'
                     AND    ROWNUM        = 1)  base_calculo_cofins_1,
                     --
                     --
                     -- Recupera o Valor da Base de Calculo do imposto 10
                    (SELECT NVL(base_calculo,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '10'
                     and    cod_tp_lanc_imp = '2'
                     AND    ROWNUM        = 1)  base_calculo_cofins_2,
                     --
                     --
                     -- Recupera o Valor da Base de Calculo do imposto 10
                    (SELECT NVL(base_calculo,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO     = '10'
                     and    cod_tp_lanc_imp = '3'
                     AND    ROWNUM        = 1)  base_calculo_cofins_3,
                     -- Recupera a Aliquota do imposto 10 - COFINS
                    (SELECT nvl(aliquota,0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '10'
                     AND    ROWNUM        = 1)  aliquota_cofins,
                     -- Recupera o Valor do imposto 10 - COFINS
                    (SELECT nvl(vlr_imposto, 0)
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '10'
                     AND    ROWNUM        = 1)  vlr_imposto_cofins,
                     -- Recupera o Codigo da situacao tributaria do imposto 10 - COFINS
                    (SELECT cod_sit_trib_cof
                     FROM   lf_nf_saida_imposto
                     WHERE  cod_holding     = b.cod_holding
                     and    cod_matriz      = b.cod_matriz
                     and    cod_filial      = b.cod_filial
                     and    num_nf          = b.num_nf
                     and    serie           = b.serie
                     and    subserie        = b.subserie
                     and    dt_emissao      = b.dt_emissao
                     and    cod_cfop_legal  = b.cod_cfop_legal
                     and    cod_municipio   = b.cod_municipio
                     AND    id_item         = b.id_item
                     AND    COD_IMPOSTO   = '10'
                     AND    ROWNUM        = 1)  cod_sit_trib_cof
             from   lf_nf_saida         a,
                    lf_nf_saida_item    b,
                    lf_nf_saida_imposto c
             where  a.cod_holding   = 'JNJ BR'
             and    a.dt_emissao    >= to_date('01/01/2013','dd/mm/yyyy')
             and    a.cod_status     = '01'
             and    b.cod_holding    = a.cod_holding
             AND    b.cod_matriz     = a.cod_matriz
             AND    b.cod_filial     = a.cod_filial
             AND    b.num_nf         = a.num_nf
             AND    b.serie          = a.serie
             AND    b.subserie       = a.subserie
             AND    b.dt_emissao     = a.dt_emissao
             AND    b.cod_cfop_legal = a.cod_cfop_legal
             AND    b.cod_municipio  = a.cod_municipio
             AND    c.cod_holding    = b.cod_holding
             AND    c.cod_matriz     = b.cod_matriz
             AND    c.cod_filial     = b.cod_filial
             AND    c.num_nf         = b.num_nf
             AND    c.serie          = b.serie
             AND    c.subserie       = b.subserie
             AND    c.dt_emissao     = b.dt_emissao
             AND    c.cod_cfop_legal = b.cod_cfop_legal
             AND    c.cod_municipio  = b.cod_municipio
             AND    c.id_item        = b.id_item
             and    c.cod_imposto    ='01';
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.