Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Select distinct


Marcelo2011

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Não era bem isso. Verifique a tabela abaixo:

Nome ID

Marcos Paulo 09

Maria Aparecida 06

Maria Aparecida 08

Mario Andrade 16

Maria Aparecida 19 <=========

Mariana Souza 22

Preciso listar apenas uma MARIA APARECIDA nesta listagem, a de ID 19,

que seria a mais atual. Todos os outros nomes tambem precisam aparecer,

sempre com os IDs mais altos.

Não sei como fazer isso.

:'-(

Abraços

Marcelo

==========================================================================

Para pegar os outros nomes, retire o top 1. No fonte pode-se tratar o resultado como quiser... Seria isto que deseja?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Marcelo,

você quer pegar a Maria de id 19 e depois pegar os demais nomes ordenados por id em um mesmo select? Se for isso não dá. Não tem como fazer ordenações distintas no mesmo select.

O mais interessante seria pegar o maior id da Maria e depois pegar o resto dos nomes.

Ficaria mais ou menos assim:

select TOP 1 * from #teste where nome='Maria Aparecida' order by ID desc

SELECT * FROM #teste WHERE id NOT IN (select TOP 1 id from #teste where nome='Maria Aparecida' order by ID desc)
ORDER BY id DESC

Link para o comentário
Compartilhar em outros sites

  • 0

Ola Fulvio, bom dia,

Bem, ainda não era bem isso que preciso. Xô tentar explicar meu "pobrema"

Tenho uma pesquisa de nomes, digito digamos "MAR" e aparece uma grid na tela

para escolher um dos nomes abaixo:

Nome ID

Marcos Paulo 09

Maria Aparecida 06

Mariana Souza 22

Maria Aparecida 08

Mario Andrade 16

Maria Aparecida 19

Marcos Paulo 35

Preciso listar nesta grid APENAS os nomes sem se repetirem, com os IDs mais altos.

Ou seja, a grid deveria mostrar assim na tela:

Nome ID

Marcos Paulo 35

Maria Aparecida 19

Mariana Souza 22

Mario Andrade 16

Como fazer isso? E em ordem alfabética?

============================================================================

SELECT * FROM #teste WHERE id NOT IN (select TOP 1 id from #teste where nome='Maria Aparecida' order by ID desc)

ORDER BY id DESC

Link para o comentário
Compartilhar em outros sites

  • 0

Ahm...... Agora entendi. rs...

Dá uma olhada no exemplo abaixo:

CREATE table #teste (Nome VARCHAR(50), id INT)

INSERT INTO #teste VALUES ('Marcos Paulo', 09)
INSERT INTO #teste VALUES ('Maria Aparecida', 06)
INSERT INTO #teste VALUES ('Mariana Souza', 22)
INSERT INTO #teste VALUES ('Maria Aparecida', 08)
INSERT INTO #teste VALUES ('Mario Andrade', 16)
INSERT INTO #teste VALUES ('Maria Aparecida', 19)
INSERT INTO #teste VALUES ('Marcos Paulo', 35)

SELECT * FROM #teste WHERE nome LIKE 'Mar%' AND id IN (SELECT max(id) 
FROM #teste GROUP BY Nome) ORDER BY Nome

Link para o comentário
Compartilhar em outros sites

  • 0

Fulvio, de onde você é?

Você merece um beijo...

Mas vou te dar só um abraço mesmo para não pegar mal... :-)

Funcionou.

Valeu pela dica :-)

Abração

Marcelo

--------------------------------------------------------------------------

Ahm...... Agora entendi. rs...

Dá uma olhada no exemplo abaixo:

CREATE table #teste (Nome VARCHAR(50), id INT)

INSERT INTO #teste VALUES ('Marcos Paulo', 09)
INSERT INTO #teste VALUES ('Maria Aparecida', 06)
INSERT INTO #teste VALUES ('Mariana Souza', 22)
INSERT INTO #teste VALUES ('Maria Aparecida', 08)
INSERT INTO #teste VALUES ('Mario Andrade', 16)
INSERT INTO #teste VALUES ('Maria Aparecida', 19)
INSERT INTO #teste VALUES ('Marcos Paulo', 35)

SELECT * FROM #teste WHERE nome LIKE 'Mar%' AND id IN (SELECT max(id) 
FROM #teste GROUP BY Nome) ORDER BY Nome

Olá Manoel,

A resposta do Fulvio resolveu a parada com o AND mesmo.

Valeu pela sugestão,

Abraços,

Marcelo

----------------------------------------------------------------------

Se não funcionar, tente este

SELECT * FROM #teste WHERE nome LIKE 'Mar%' OR id IN (SELECT max(id)

FROM #teste GROUP BY Nome) ORDER BY Nome

apenas troquei o AND por OR.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...