Array
(
)

Dúvidas com Função MAX SQL SERVER

Marcio Morando
   - 17 dez 2013

Boa Tarde Pessoal,
Estou fazendo um select com a função MAX
SELECT MAX(campo), campo, campo, campo, campo, campo, campo
FROM tabela
INNER JOIN tabela ON campo = campo OR campo = campo OR campo = campo
WHERE tabela.campo LIKE '%informacao%'
GROUP BY campos do select
ORDER BY MAX(campo do select)
mas não está me trazendo o valor máximo e sim todos os valores.
O que pode estar errado?

Isaac Jose
   - 17 dez 2013

boa tarde vc deve estar colocando o mesmo campo que vc quer o max no agrupamento..

Marcio Morando
   - 17 dez 2013

Eu tirei, e mesmo assim ele ainda me traz três valores, não trazendo apenas o maior.

Isaac Jose
   - 17 dez 2013

esses três campos não estão vindo por conta do relacionamento que vc esta fazendo com o or??
campo1 = campo2 or campo1 = campo3 or campo1 = campo 4?
tenta fazer um de cada vez pra conferir.

Marcio Morando
   - 17 dez 2013

Não, os três vem do campo1=campo2. Tirei os outros dois relacionamentos fora, e mesmo assim vem os três campos e não o maior.

O que pode ser?

Isaac Jose
   - 17 dez 2013

tem campo de data no meio com datas diferentes??
faz so o select max(campo) somente do campo que vc quer tira esse group by e order by e ve se ele ira trazer 3 campos

Marcio Morando
   - 17 dez 2013

Fazendo somente o SELECT MAX ele traz corretamente. Somente quando coloco o Group By e order by que traz os três. Tem um campo DateTime, mas com datas iguais nos três resultados que o SELECT me traz.

Isaac Jose
   - 17 dez 2013

tem algum campo com valor diferente.
se esse campo datetime tiver minuto e segunto ja era.

Marcio Morando
   - 17 dez 2013

Pois é, os três trazem o mesmo horário 16/12/2013 17:54:43. Os três valores me trazem este horário.

Isaac Jose
   - 17 dez 2013

tenta com o campo max() e vai acrescentando campo a campo pra ver qual esta dando problema. qual quer coisa coloca o max no campo data

Marcio Morando
   - 17 dez 2013

Resolvido. Fui acrescentando um a um a descobri que em dois campos ele trazia o mesmo valor mais de uma vez. Coloquei um HAVING para esses dois campos e deu certo.

ISAAC, muito Obrigado. Suas dicas me ajudaram muito. Valeu mesmo!

Isaac Jose
   - 17 dez 2013

Por nada Disponha!!!