Ir para conteúdo

POWERED BY:

Arquivado

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

Robson Bie

[Resolvido] Consulta SQL

Recommended Posts

Bom dia Pessoal, tenho o seguinte sql (que já me foi ajudado pelo Motta rsrs)

 

select pt.lote,pt.id,pt.descritivo,pt.produto,pt.prod_pai,pt.letra,  
sum(CASE WHEN contagem=1 THEN qtde END) contagem1,  
sum(CASE WHEN contagem=2 THEN qtde END) contagem2, 
sum(CASE WHEN contagem=2 THEN qtde END)- sum(CASE WHEN contagem=1 THEN qtde END) diferenca 
from  
rh_inv_prodt pt  
where 
pt.lote = :lote 
and
pt.id = :id
group by pt.lote,pt.id,pt.descritivo,pt.produto,pt.prod_pai,pt.letra
HAVING sum(CASE WHEN contagem=2 THEN qtde END)- sum(CASE WHEN contagem=1 THEN qtde END) <> 0

 

Pode acontecer de alguns IDS terem contagem1 e nao terem contagem2 e vice versa. Como posso fazer para caso o produto não tenha alguma contagem que ele assuma o valor de contagem 0 zero?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
NVL(sum(CASE WHEN contagem=2 THEN qtde END)- sum(CASE WHEN contagem=1 THEN qtde END),0)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu mais uma vez Motta Pela Atenção, mas acho que não me expressei bem.

 

Vamos imaginar que eu tenho o produto com Codigo(coluna Produto na Tabela) = 171.

 

Fiz a primeira contagem(Coluna Contagem = 1) e digitei a qtde de 10 unidades

Na segunda contagem (coluna contagem = 2) não gerei esse item.

 

Então oque gostaria é que ele mostrasse

 

Contagem1 = 10

Contagem2 = 0

 

ou seja comprar se o produto não existir na contagem 2 colocar ele como contagem 0

 

Não sei se da para entender mas é isso

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
NVL(sum(CASE WHEN contagem=1 THEN qtde END),0) contagem1,  
NVL(sum(CASE WHEN contagem=2 THEN qtde END),0)  contagem2, 
NVL(sum(CASE WHEN contagem=2 THEN qtde END)- sum(CASE WHEN contagem=1 THEN qtde END),0)  diferenca

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.