URGENTE Ajuda com trabalho POR FAVOR!!!
Boa noite a todos!
Estou com um problema no script de consulta para o obter um relatório. Segue o mesmo abaixo.
select s.NomeSupervisor, i.NomeInstr, p.NomeProd, p.CPF ,sum (nfc.TotKg) ,sum (pi.QtdeMilPes) as MilPes, sum (pi.QtdeHectares) as Ha, sum (pi.QtdeProdContr) as ProduçãoContr, pi.DtPedido
from
FPedInsumo pi
inner join FProdutor p on (p.CodProd = pi.CodProd)
inner join FProdInstr pin on( pin.CodProd = pi.CodProd and pi.CodSafra = pin.CodSafra)
inner join FInstrutor i on (i.CodInstr = pin.CodInstr)
inner join FSupInstrSafra sis on (sis.CodInstr = pin.CodInstr and sis.CodSafra =18)
inner join FSupervisor s on (s.CodSupervisor = sis.CodSupervisor and sis.Status='A')
--inner join FFardosCompra fc on (fc.CodProd = pi.CodProd and fc.Status='A')
inner join FNotaFiscalCom nfc on (nfc.CodProdNF = pi.CodProd and nfc.CodSafra=18 and nfc.CodVar=30)
where pi.Status='F' and pi.CodVar=30 and pi.CodSafra=18 and pi.TipoPedInsumo in (1,2,3)-- and pi.CodProd=45759
group by NomeSupervisor, NomeInstr, NomeProd, p.CPF, DtPedido
order by NomeSupervisor, NomeInstr
Quando tento efetuar as somas do campo TotKg, o mesmo esta duplicando as somas dos campos que envolvem QTD's. Pois na tabela FNotaFiscalCom , o produtor por ter mais de uma NF. OS Kilos ele soma corretamente mas as Qtds devem somar somente referente ao numeros dos tipos dos pedidos e nao ao correspondente de números de NFS E também preciso trazer somente a data do pedido de tipo 1.
Agradeço se alguem puder me ajudar
Estou com um problema no script de consulta para o obter um relatório. Segue o mesmo abaixo.
select s.NomeSupervisor, i.NomeInstr, p.NomeProd, p.CPF ,sum (nfc.TotKg) ,sum (pi.QtdeMilPes) as MilPes, sum (pi.QtdeHectares) as Ha, sum (pi.QtdeProdContr) as ProduçãoContr, pi.DtPedido
from
FPedInsumo pi
inner join FProdutor p on (p.CodProd = pi.CodProd)
inner join FProdInstr pin on( pin.CodProd = pi.CodProd and pi.CodSafra = pin.CodSafra)
inner join FInstrutor i on (i.CodInstr = pin.CodInstr)
inner join FSupInstrSafra sis on (sis.CodInstr = pin.CodInstr and sis.CodSafra =18)
inner join FSupervisor s on (s.CodSupervisor = sis.CodSupervisor and sis.Status='A')
--inner join FFardosCompra fc on (fc.CodProd = pi.CodProd and fc.Status='A')
inner join FNotaFiscalCom nfc on (nfc.CodProdNF = pi.CodProd and nfc.CodSafra=18 and nfc.CodVar=30)
where pi.Status='F' and pi.CodVar=30 and pi.CodSafra=18 and pi.TipoPedInsumo in (1,2,3)-- and pi.CodProd=45759
group by NomeSupervisor, NomeInstr, NomeProd, p.CPF, DtPedido
order by NomeSupervisor, NomeInstr
Quando tento efetuar as somas do campo TotKg, o mesmo esta duplicando as somas dos campos que envolvem QTD's. Pois na tabela FNotaFiscalCom , o produtor por ter mais de uma NF. OS Kilos ele soma corretamente mas as Qtds devem somar somente referente ao numeros dos tipos dos pedidos e nao ao correspondente de números de NFS E também preciso trazer somente a data do pedido de tipo 1.
Agradeço se alguem puder me ajudar
Renan
Curtidas 0
Melhor post
Emerson Nascimento
07/08/2020
tente assim:
select tmp.NomeSupervisor, tmp.NomeInstr, tmp.NomeProd, tmp.CPF, tmp.MilPes, tmp.Ha, tmp.ProducaoContr, tmp.DtPedido, sum(nfc.TotKg) TotKg, from ( select s.NomeSupervisor, i.NomeInstr, p.CodProd, p.NomeProd, p.CPF, sum(pi.QtdeMilPes) as MilPes, sum(pi.QtdeHectares) as Ha, sum(pi.QtdeProdContr) as ProducaoContr, max(case when pi.TipoPedInsumo = 1 then pi.DtPedido else null end) DtPedido from FPedInsumo pi inner join FProdutor p on (p.CodProd = pi.CodProd) inner join FProdInstr pin on( pin.CodProd = pi.CodProd and pi.CodSafra = pin.CodSafra) inner join FInstrutor i on (i.CodInstr = pin.CodInstr) inner join FSupInstrSafra sis on (sis.CodInstr = pin.CodInstr and sis.CodSafra =18) inner join FSupervisor s on (s.CodSupervisor = sis.CodSupervisor and sis.Status='A') -- inner join -- FFardosCompra fc on (fc.CodProd = pi.CodProd and fc.Status='A') where pi.Status='F' and pi.CodVar=30 and pi.CodSafra=18 and pi.TipoPedInsumo in (1,2,3) -- and pi.CodProd=45759 group by s.NomeSupervisor, i.NomeInstr, p.CodProd, p.NomeProd, p.CPF ) tmp inner join FNotaFiscalCom nfc on (nfc.CodProdNF = tmp.CodProd and nfc.CodSafra=18 and nfc.CodVar=30) group by tmp.NomeSupervisor, tmp.NomeInstr, tmp.NomeProd, tmp.CPF, tmp.MilPes, tmp.Ha, tmp.ProducaoContr tmp.DtPedido order by tmp.NomeSupervisor, tmp.NomeInstr
GOSTEI 2
Mais Respostas
Emerson Nascimento
06/08/2020
tem uma vírgula a mais ali em
sum(nfc.TotKg) TotKg,
GOSTEI 1
Emerson Nascimento
06/08/2020
e uma faltando aqui
tmp.ProducaoContr
GOSTEI 2
Renan
06/08/2020
Funcionou Emerson, muito obrigado pela ajuda!
GOSTEI 0