DÚVIDA NA SELECT USANDO MAX

17/06/2016

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

Carlos Felix

Melhor resposta

17/06/2016

Ok Robinhocne muito obrigado. Funcionou.
Bin, aceite minhas desculpas, na próxima vez seguirei o determinado.

Carlos Felix

Responder Citar

Outras Respostas

17/06/2016

Robinhodemorais

tira o v.vlrvenda do group by
Responder Citar

17/06/2016

Din

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.

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 Citar