Boa Tarde Sr.(s),
Tenho uma tabela com o seguinte select:
Select CPI.CodProd as CodProdMP, CPI.Descricao as Desc_ProdutoMP,
(case when sum(BatRI.PesoSolicitado) is null then 0 else sum(BatRI.PesoSolicitado) end) as PesoSolicitado,
(case when sum(BatRI.PesoDosado) is null then 0 else sum(BatRI.PesoDosado) end) as PesoDosado,
(case when sum(BatRI.PesoDosado-BatRI.PesoSolicitado) is null then 0 else sum(BatRI.PesoDosado-BatRI.PesoSolicitado) end) as ErroKG,
(case when (100-((sum(BatRI.PesoSolicitado)*100)/sum(BatRI.PesoDosado))) is null then 0 else (100-((sum(BatRI.PesoSolicitado)*100)/sum(BatRI.PesoDosado))) end) as Percentual
From Opr_Producao_Reg OPR
Left Join Opr_Producao_Reg_Bat BatR on (OPR.NumeroProducao=BatR.NumeroProducao)
Left Join Opr_Producao_Reg_Bat_Item BatRI on (BatR.NumeroProducao=BatRI.NumeroProducao and BatR.NumeroBatelada=BatRI.NumeroBatelada)
Inner Join Cad_Formula CF on (OPR.CodFormula=CF.CodFormula)
Left Join Cad_Linha CL on (OPR.CodLinha=CL.CodLinha)
Left Join Cad_Produto CP on (CF.CodProd=CP.CodProd)
Left Join Cad_Produto CPI on (BatRI.CodProd=CPI.CodProd)
Left Join Cad_Produto_Grupo CPG on (CP.CodGrupoProd=CPG.CodGrupoProd)
Left Join Cad_Balanca CB on (BatRI.CodBalanca=CB.CodBalanca)
Left Join Cad_Silo CS on (BatRI.CodSilo=CS.CodSilo)
Left Join Sys_UCTabUsers on (Sys_UCTabUsers.UCIdUser=BatR.Usuario)
Where 1=1 and BatRI.PesoDosado>0 and CPI.CodProd<>0
Group By CF.CodFormula, CP.CodProd, CP.Descricao, CPI.CodProd, CPI.Descricao
Order By CF.CodFormula, CP.CodProd, CP.Descricao, CPI.CodProd, CPI.Descricao
Nesta tabela, preciso da totalização de alguns campos, porém, o scriptcase não permite fazer a totalização. Um erro é exibido no qual diz: “Não é possível executar uma função agregada em uma expressão contendo um agregado ou uma subconsulta.”
Criar uma view para este select poderia ser uma solução, no entanto, nesta tabela utilizo os eventos para fazer os filtros (utilizo o filtro pelos eventos para não haver a necessidade de listar os campos destes filtros no select principal). E para que este filtro por eventos funcione utilizando uma view no select do sciptcase, é necessário listar no select da view os campos que serão “chamados” nos eventos do filtro. Mas se estes campos de filtro forem colocados no select da view, o agrupamento ficará errado.
Como posso contornar esta situação?
Grato desde já,
Davi
