Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

César Felix

Select SQL

Recommended Posts

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:

 

- O primeiro é que não estou conseguindo agrupar o resultado em uma linha;

 

- o segundo é que preciso de uma quarta coluna com a soma das colunas Valor Status 01 + Valor Status 02.

 

Sou iniciante no fórum... obrigado pelo auxílio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.