Ir para conteúdo

POWERED BY:

Arquivado

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

tanem

[Resolvido] Campo vazio valer zero

Recommended Posts

Galera,

 

Estou com o seguinte problema com um simples controle de estoque. Tenho duas tabelas, 1 tabela chamada "tb_entrada" que armazena os materiais de entrada, e outra chamada "tb_saida" que armazena os dados de saida.

 

Fiz um sql que consegue retornar a quantidade do material x na tabela entrada -(menos) a quantidade o material x na tabela de saida, logo tenho o total no estoque.

 

A questão é, como faço para que se o material tiver registro somente na tabela de entrada, ele exibe o valor desta? uma vez que não tem na tabela de saida ele não consegue fazer a subtraçao..

 

Aguardo retorno

 

segue o sql:

 

SELECT entrada.cd_material, (SUM(qtde)-SUM(qtds)) diferenca
from (select e.cd_material, SUM(e.quantidade) as qtde
from tb_entrada e
group by e.cd_material) entrada left join (select cd_material, SUM(quantidade) as qtds
from tb_saida
group by cd_material) saida
on entrada.cd_material = saida.cd_material
group by entrada.cd_material

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é a melhor saída, mas é a única que me ocorre no momento:

 

SELECT e.cd_material, SUM( e.quantidade ) -
CASE WHEN ISNULL( (

SELECT SUM( s.quantidade )
FROM tb_saida s
WHERE s.cd_material = e.cd_material )
)
THEN 0
ELSE (

SELECT SUM( s.quantidade )
FROM tb_saida s
WHERE s.cd_material = e.cd_material
) 
END as estoque FROM tb_entrada AS e
GROUP BY e.cd_material

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre,

 

Testei rapidamente aqui, ainda não implementei no sistema, resultado do teste ... Show de bola funcionou filé demais, valeu mesmo cara.

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.