Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, bom dia
Estou com um problema e quebrando a cabeça para resolver.
Eu preciso filtrar informação de uma tabela e somar as quantidades do período informado e trazer a quantidade total do mês para esse produto.
Segue um exemplo de como eu queria que viesse.
Ao filtrar o período do mês 01/01/2020 a 31/12/2020 ele deveria trazer para mim a seguinte informação.
Item - MES - Quantidade
PARAFUSO - JANEIRO - 40
PARAFUSO - FEVEREIRO - 20
PARAFUSO - MARÇO - 30
.....
PARAFUSO - DEZEMBRO- 10
Dentro do período informado ele trás a quantidade total do mês, porém, essa quantidade eu faço a soma pelo SUM e como eu preciso trazer o mês falar qual o mes e quantidade, ele trás mais linhas do mesmo mês, isso porque, dentro do mês ele possui registros de diversas datas, e o group by quando vê as datas diferentes não agrupam e só agrupa o que for data igual.
Como posso resolver isso? Alguém tem alguma ideia?
1) tire o dat_movto do agrupamento
2) use um group cube ou rollup
>
14 minutos atrás, Motta disse:
1) tire o dat_movto do agrupamento
2) use um group [cube ou rollup](https://docs.microsoft.com/pt-br/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-ver15)
Motta, boa tarde
Não posso tirar o dat_movto do agrupamento, porque eu preciso trazer ele na consulta do select para saber qual é o mês que estou mostrando a quantidade total da soma, por isso ele vai de mês a mês. JAN a DEZ
o cube e o rollup tentei aplicar aqui, mas não atende, porque mesmo assim ele trás mais resultadosa 3ª coluna te dá o mês.
Bom dia Motta,
Realmente, nessa terceira coluna ele trás o mês, fiz o seguinte, usei o CASE WHEN para trazer o mês e agrupei através dele tirando a data do movto, deu certo dessa forma.
Muito obrigado!
Segue dois prints como exemplo, o print 1 mostra os registros do item no mês 12, ele possui:
1 - registro no dia 14
3 - registro no dia 15
1 - registro no dia 17
Eu queria que ele trouxesse pelo group by a quantidade total do mês que seria 22, mas ele agrupa tudo o que é igual e com isso trás 3 linhas, isso porque os dias mudam.