Retornar select apenas se o valor do campo X for menor que campo Y

11/09/2020

0

Prezados,
preciso de ajudar no select abaixo, gostaria que só retorna-se o resultado se o valor do campo DISPONIVELQUANTIDADE for menor que o campo CONTEUDOVALOR.
SELECT  SUM(A.DISPONIVELQUANTIDADE) SALDO,
B.CODIGOREFERENCIA CODIGO, 
C.CONTEUDOVALOR MINIMO
FROM AM_SALDOESTOQUE A
INNER JOIN MT_ITEM B ON B.HANDLE = A.ITEM
LEFT JOIN MS_INFOCOMPLEMENTAR C ON C.HANDLEORIGEM = B.HANDLE
WHERE A.ITEM = 16520

GROUP BY   B.CODIGOREFERENCIA, C.CONTEUDOVALOR
Isaque

Isaque

Responder

Post mais votado

12/09/2020

se a comparação é com o campo A.DISPONIVELQUANTIDADE, faça assim:
SELECT
   SUM(A.DISPONIVELQUANTIDADE) SALDO,
   B.CODIGOREFERENCIA CODIGO, 
   C.CONTEUDOVALOR MINIMO
FROM
   AM_SALDOESTOQUE A
INNER JOIN
   MT_ITEM B ON B.HANDLE = A.ITEM
LEFT JOIN
   MS_INFOCOMPLEMENTAR C ON C.HANDLEORIGEM = B.HANDLE
WHERE
   A.ITEM = 16520
   AND A.DISPONIVELQUANTIDADE < C.CONTEUDOVALOR
GROUP BY
   B.CODIGOREFERENCIA, C.CONTEUDOVALOR


se a comparação é com SUM(A.DISPONIVELQUANTIDADE), faça assim:
SELECT
   SUM(A.DISPONIVELQUANTIDADE) SALDO,
   B.CODIGOREFERENCIA CODIGO, 
   C.CONTEUDOVALOR MINIMO
FROM
   AM_SALDOESTOQUE A
INNER JOIN
   MT_ITEM B ON B.HANDLE = A.ITEM
LEFT JOIN
   MS_INFOCOMPLEMENTAR C ON C.HANDLEORIGEM = B.HANDLE
WHERE
   A.ITEM = 16520
GROUP BY
   B.CODIGOREFERENCIA, C.CONTEUDOVALOR
HAVING
   SUM(A.DISPONIVELQUANTIDADE) < C.CONTEUDOVALOR



Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

12/09/2020

Isaque

se a comparação é com o campo A.DISPONIVELQUANTIDADE, faça assim:
SELECT
   SUM(A.DISPONIVELQUANTIDADE) SALDO,
   B.CODIGOREFERENCIA CODIGO, 
   C.CONTEUDOVALOR MINIMO
FROM
   AM_SALDOESTOQUE A
INNER JOIN
   MT_ITEM B ON B.HANDLE = A.ITEM
LEFT JOIN
   MS_INFOCOMPLEMENTAR C ON C.HANDLEORIGEM = B.HANDLE
WHERE
   A.ITEM = 16520
   AND A.DISPONIVELQUANTIDADE < C.CONTEUDOVALOR
GROUP BY
   B.CODIGOREFERENCIA, C.CONTEUDOVALOR


se a comparação é com SUM(A.DISPONIVELQUANTIDADE), faça assim:
SELECT
   SUM(A.DISPONIVELQUANTIDADE) SALDO,
   B.CODIGOREFERENCIA CODIGO, 
   C.CONTEUDOVALOR MINIMO
FROM
   AM_SALDOESTOQUE A
INNER JOIN
   MT_ITEM B ON B.HANDLE = A.ITEM
LEFT JOIN
   MS_INFOCOMPLEMENTAR C ON C.HANDLEORIGEM = B.HANDLE
WHERE
   A.ITEM = 16520
GROUP BY
   B.CODIGOREFERENCIA, C.CONTEUDOVALOR
HAVING
   SUM(A.DISPONIVELQUANTIDADE) < C.CONTEUDOVALOR
Emerson,
a comparação é com o campo SUM(A.DISPONIVELQUANTIDADE).
a segunda opção funcionou perfeitamente muito obrigado.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar