September 18, 2019 at 2:23 pm
hi,
i'm creating a view and need some help.
i have the column "valorTotal" that i get the value PCPadrao*Quantidade but if Quantidade <0 then value equal to zero.
mi problem is that this is working line by line, but i need the acumulate from "artigo" by "Data"
on yellow what i need is ( -1672+2949+(-1672)+(-1332)= -1727)
is it possible
SELECT [Artigo]
,sum([Quantidade]) as [Quantidade]
,sum(Case when [Quantidade] <0 then 0 else [Quantidade] end) as [qtdpositiva]
,sum([PCPadrao] *Case when [Quantidade] <0 then 0 else [Quantidade] end) as [vt]
,avg([PCPadrao]) as PCPadrao
/* ,[Data]*/
,[Descricao]
,[TipoArtigo]
,[NometipoArtigo]
FROM [PRIKLC].[dbo].[Inc_vw_stkArmazem000]
where data >='2019-09-13 00:00:00' and data <='2019-09-13 23:59:59'
group by [artigo] ,[Descricao] ,[TipoArtigo] ,[NometipoArtigo]
September 18, 2019 at 2:42 pm
I think what you are describing is done by using "WITH ROLLUP" in the group by or perhaps a grouping set
have a look at this article
for each of your dates it will give you the individual rows and a sub total for each date, you cacn also get a grand total in the bottom row
MVDBA
September 19, 2019 at 9:10 am
Pls ignore if I've misunderstood (the grid output doesn't seem to match the query)
Would adding
CAST(DATA as Date)
into your group by clause solve it. Assuming DATA is datetime and you want to group by day?
September 19, 2019 at 11:39 am
Yes i want to group by day and by artigo.
ill try your sugesttions
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply