Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde.
Eu desenvolvi um select para retornar o valor do custo de produtos de determinados status.
select IT.filial,
case when p.status = '01' then cast(sum(it.quant * p.precocomp) as numeric (15,2)) else 0 end as 'Valor Status 01',
case when p.status = '02' then cast(sum(it.quant * p.precocomp) as numeric (15,2)) else 0 end as 'Valor Status 02'
from ITEMFILEST it inner join
PRODUTOCAD p on p.codpro = it.codpro
where it.filial not in ('','07','61','18')
and it.quant > 0
group by p.status, it.filial
having p.status in('01','02')
order by it.filial
Porém, estou com 2 problemas:
Sou iniciante no fórum... obrigado pelo auxílio.
>
Veja isto.
Para o total basta um SUM, sem CASE.
Motta, funcionou.
porém agora, os dados estão retornando da seguinte forma:
filial valor
01 valor1
01 valor2.
Como faço para que os dados sejam retornados da seguinte maneira:
filial valor1 valor2
01
Obrigado!
Algo assim :
SELECT FILIAL
SUM(CASE WHEN STATUS=1 THEN VALOR ELSE 0 END) VALOR01,
SUM(CASE WHEN STATUS=1 THEN VALOR ELSE 0 END) VALOR02,
SUM(VALOR) TOTAL
FROM TABELA
GROUP BY FILIAL
Veja isto.
Para o total basta um SUM, sem CASE.