Inquiridor
SUBSTITUIR VALOR NEGATIVO POR 0(ZERO)

Pergunta
-
Olá amigos,
estou precisando substituir um resultado de uma consulta negativo pelo numero 0.
segue estrutura da consulta.
SELECT b.codigo,
b.referencia,
b.nome AS "DESCRIÇÃO",
Sum(A.quant) AS VENDA,
D.loja AS ESTOQUE,
B.preco_compra AS "PREÇO COMPRA",
B.ipicompra AS IPI,
Sum(A.quant) - ( D.loja ) + 1 AS SUGESTAO,
( ( B.preco_compra * B.ipicompra / 100 + B.preco_compra ) * (
Sum(A.quant) - ( D.loja ) + 1 ) )AS "TOTAL SUGESTÃO",
B.dt_ultimacompra AS "ULTIMA COMPRA"
FROM saida_produto a
INNER JOIN produto b
ON a.id_produto = b.id
INNER JOIN saida c
ON a.id_saida = c.id
INNER JOIN produto_estoque D
ON A.id_produto = D.id_produto
INNER JOIN pessoa E
ON B.id_fornecedor = E.id
WHERE E.nome LIKE '%SESTINI%'
AND C.data >= '01.12.2017'
AND C.data <= '01.04.2018'
AND C.tipo IN ( 'NCE', 'CF' )
AND B.eliminado = 'N'
AND A.cancelado = 'N'
GROUP BY codigo,
"DESCRIÇÃO",
estoque,
referencia,
B.preco_compra,
ipi,
"ULTIMA COMPRA"
ORDER BY venda DESC##FIM##
ESSE É O RESULTADO ATUAL:
AS COLUNAS QUE EU NÃO QUERO QUE MOSTRE VALOR NEGATIVO É: SUGESTAO E TOTAL SUGESTÃO
Todas as Respostas
-
Boa tarde,
Experimente utilizar o Case nos trechos em questão para verificar se o valor é negativo. Ex:
case when Sum(A.quant) - D.loja + 1 < 0 then 0 else Sum(A.quant) - D.loja + 1 end AS SUGESTAO, case when Sum(A.quant) - D.loja + 1 < 0 then 0 else (B.preco_compra * B.ipicompra / 100 + B.preco_compra) * (Sum(A.quant) - D.loja + 1 ) end AS "TOTAL SUGESTÃO",
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
-
Podes fazer assim:
SELECT b.codigo,
b.referencia,
b.nome AS "DESCRIÇÃO",
Sum(A.quant) AS VENDA,
D.loja AS ESTOQUE,
B.preco_compra AS "PREÇO COMPRA",
B.ipicompra AS IPI,
iif(substrng(cast(Sum(A.quant) - ( D.loja ) + 1 as varchar),1,1)='-','0',(Sum(A.quant) - ( D.loja ) + 1) AS SUGESTAO,
( ( B.preco_compra * B.ipicompra / 100 + B.preco_compra ) * (
Sum(A.quant) - ( D.loja ) + 1 ) )AS "TOTAL SUGESTÃO",
B.dt_ultimacompra AS "ULTIMA COMPRA"
FROM saida_produto a
INNER JOIN produto b
ON a.id_produto = b.id
INNER JOIN saida c
ON a.id_saida = c.id
INNER JOIN produto_estoque D
ON A.id_produto = D.id_produto
INNER JOIN pessoa E
ON B.id_fornecedor = E.id
WHERE E.nome LIKE '%SESTINI%'
AND C.data >= '01.12.2017'
AND C.data <= '01.04.2018'
AND C.tipo IN ( 'NCE', 'CF' )
AND B.eliminado = 'N'
AND A.cancelado = 'N'
GROUP BY codigo,
"DESCRIÇÃO",
estoque,
referencia,
B.preco_compra,
ipi,
"ULTIMA COMPRA"
ORDER BY venda DESCAplica a mesma ideia para a outra coluna.