Fórum DÚVIDA NA SELECT USANDO MAX #557275
17/06/2016
0
Alguem pode me ajudar? Apesar de estar usando o MAX pra filtrar o maior valor de venda, a consulta ainda retorna duplicidade nos produtos CODPROD.
SELECT P.CODPROD, P.DESCRPROD, P.REFFORN, P.MARCA, E.ESTOQUE, MAX(V.VLRVENDA) AS VLRVENDA
FROM TGFPRO P, TGFEST E, TGFEXC V
WHERE P.CODPROD = E.CODPROD AND P.CODPROD = V.CODPROD AND P.MARCA = 'STECK' AND P.DESCRPROD LIKE ('%TOMADA%')
GROUP BY P.CODPROD, P.DESCRPROD, P.REFFORN, P.MARCA,E.ESTOQUE, V.VLRVENDA
SELECT P.CODPROD, P.DESCRPROD, P.REFFORN, P.MARCA, E.ESTOQUE, MAX(V.VLRVENDA) AS VLRVENDA
FROM TGFPRO P, TGFEST E, TGFEXC V
WHERE P.CODPROD = E.CODPROD AND P.CODPROD = V.CODPROD AND P.MARCA = 'STECK' AND P.DESCRPROD LIKE ('%TOMADA%')
GROUP BY P.CODPROD, P.DESCRPROD, P.REFFORN, P.MARCA,E.ESTOQUE, V.VLRVENDA
Carlos Felix
Curtir tópico
+ 0
Responder
Post mais votado
17/06/2016
Ok Robinhocne muito obrigado. Funcionou.
Bin, aceite minhas desculpas, na próxima vez seguirei o determinado.
Bin, aceite minhas desculpas, na próxima vez seguirei o determinado.
Carlos Felix
Responder
Gostei + 1
Mais Posts
17/06/2016
Robson Morais
tira o v.vlrvenda do group by
Responder
Gostei + 0
17/06/2016
Claudio Lopes
Carlos
1 - ponto, para você usar o max, você precisa agrupar, logo está agrupando por P.CODPROD, P.DESCRPROD,P.REFFORN,P.MARCA,E.ESTOQUE caso algum desses campos tenha valores diferentes, ele também será quebrado.
Outro ponto quando for postar algum codigo use as tags [ code ] para facilitar a visualização. Outro ponto de atenção: "AND P.DESCRPROD LIKE ('%TOMADA%')" isso não é performático, dê preferência para usar o codprod.
1 - ponto, para você usar o max, você precisa agrupar, logo está agrupando por P.CODPROD, P.DESCRPROD,P.REFFORN,P.MARCA,E.ESTOQUE caso algum desses campos tenha valores diferentes, ele também será quebrado.
Outro ponto quando for postar algum codigo use as tags [ code ] para facilitar a visualização. Outro ponto de atenção: "AND P.DESCRPROD LIKE ('%TOMADA%')" isso não é performático, dê preferência para usar o codprod.
SELECT
P.CODPROD,
P.DESCRPROD,
P.REFFORN,
P.MARCA,
E.ESTOQUE,
MAX(V.VLRVENDA) AS VLRVENDA
FROM
TGFPRO P,
TGFEST E,
TGFEXC V
WHERE
P.CODPROD = E.CODPROD
AND P.CODPROD = V.CODPROD
AND P.MARCA = 'STECK'
AND P.DESCRPROD LIKE ('%TOMADA%')
GROUP BY
P.CODPROD,
P.DESCRPROD,
P.REFFORN,
P.MARCA,
E.ESTOQUE,
V.VLRVENDA
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)