MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Retornar o maior valor em caso de duplicidade

    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    Retornar o maior valor em caso de duplicidade Empty Retornar o maior valor em caso de duplicidade

    Mensagem  Killerz 2/10/2013, 13:02

    Pessoal, bom dia novamente! Antes de tudo, peço desculpas se estou fazendo errado. Embora o assunto seja diferente, o problema é na mesma consulta que pedi ajuda em outro tópico, porém eu já tinha dado por resolvido e agora surgiu esse problema... Se fiz errado perdão, e pode juntar o tópico por favor.
    Vamos ao que interessa. Minha consulta está trazendo valores duplicados, pois na tabela isso deve acontecer... Porém para essa consulta, eu quero que traga apenas um registro, onde um campo seja o maior. Por exemplo:
    NomeData
    Joao02/10/2011
    Joao02/09/2011
    Joao15/10/2011
    José07/08/2012
    Pedro02/10/2002
    Pedro15/06/2011
    Joao e Pedro que se repetem são a mesma pessoa, então para a consulta só é importante pra mim o ultimo registro deles, no caso do Joao é de 15/10/2011 e do Pedro é de 15/06/2011.
    Dando uma olhada nos tópicos, encontrei um tópico com uma situação parecida, onde o grande JPaulo deu a seguinte opção:
    Código:
    ORDER BY Max(CLng([NOMEDOCAMPO])) DESC;
    Mas já fiz de tudo e essa função não funcionou pra mim... Espero que alguém possa me ajudar...
    Resumindo o problema: Quero distinguir valores duplicados e retornar apenas o com maior data na consulta
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Retornar o maior valor em caso de duplicidade Empty Re: Retornar o maior valor em caso de duplicidade

    Mensagem  criquio 2/10/2013, 13:09

    Dê uma pesquisada pelo DISTINCT. Você pode selecionar o DISTINCT Código aonde (WHERE) data igual Max(Data).


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    Retornar o maior valor em caso de duplicidade Empty Re: Retornar o maior valor em caso de duplicidade

    Mensagem  Killerz 3/10/2013, 13:58

    Criquio, após esse tempo tentando, não consegui resolver... Meu código está:
    Código:

    SELECT DISTINCT [CARTAO].[DATA DE VALIDADE]
    FROM [CARTAO]
    WHERE ([CARTAO].[DATA DE VALIDADE] = Max([CARTAO].[DATA DE VALIDADE]))
    ORDER BY [CARTAO].[DATA DE VALIDADE];
    e retorna o erro: "Não foi possível ter uma funão agregada na cláusula WHERE ([CARTAO].[DATA DE VALIDADE] = Max([CARTAO].[DATA DE VALIDADE]))"

    Não sei se estou com sintaxe errado... Mas ja pensei muito e essa seria a maneira mais lógica, acho...
    avatar
    Killerz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 06/09/2013

    Retornar o maior valor em caso de duplicidade Empty Re: Retornar o maior valor em caso de duplicidade

    Mensagem  Killerz 4/10/2013, 14:19

    Amigos, consegui, mas preciso aperfeiçoar...

    Código:
    WHERE (((Day([CARTAO])+365)>Day(Date())))
    Tentei assim e retornou todos os registros...

    Código:
    WHERE (((Year([CARTAO]))<=Year(Date())-1))
    Assim foi o melhor que consegui... Porém eu preciso de 1 ano específico. Sabendo inclusive o dia e o mês certo para completar um ano. Alguma idéia do que posso fazer?

    Conteúdo patrocinado


    Retornar o maior valor em caso de duplicidade Empty Re: Retornar o maior valor em caso de duplicidade

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 11/5/2024, 15:05