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

SQL Server

SQL

11/09/2020

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

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

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



GOSTEI 1

Mais Respostas

Isaque

Isaque

11/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,
a comparação é com o campo SUM(A.DISPONIVELQUANTIDADE).
a segunda opção funcionou perfeitamente muito obrigado.


GOSTEI 0
POSTAR