none
Busca SQL RRS feed

  • Pergunta

  • Olá,

    Tenho uma tabela onde o usuário cadastrado tem uma ID unica, mas possui uma ou mais classificações.

    Exemplo:

    Usuario ID = 1

    Classificações = A,B,C

    Usuario ID = 2 

    Classificações = A,B,C

    Usuario ID = 3 

    Classificações = A,C

    Quero fazer uma busca somente nos usuarios que possuem as classificações A e B (ambas)

    Estava fazendo dessa maneira

    Select ID from TABELA where CLASSIFICACAO = A and CLASSIFICACAO = B 

    Mas nao retorna resultado algum.

    Desde já Agradeço

    segunda-feira, 29 de setembro de 2014 13:02

Respostas

  • Olá,

    Tenho uma tabela onde o usuário cadastrado tem uma ID unica, mas possui uma ou mais classificações.

    Exemplo:

    Usuario ID = 1

    Classificações = A,B,C

    Usuario ID = 2 

    Classificações = A,B,C

    Usuario ID = 3 

    Classificações = A,C

    Quero fazer uma busca somente nos usuarios que possuem as classificações A e B (ambas)

    Estava fazendo dessa maneira

    Select ID from TABELA where CLASSIFICACAO = A and CLASSIFICACAO = B 

    Mas nao retorna resultado algum.

    Desde já Agradeço

    Seguinte...

    Se você esta armazenando todas as classificações do mesmo usuário no mesmo campo, você terá que fazer assim:

    Select ID from TABELA where CLASSIFICACAO like '%A%B%';


    Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote

    segunda-feira, 29 de setembro de 2014 13:34
  • Ae irmão, o seu select ta trazendo os id dos usuários que possuem ao mesmo tempo a classificação A e B, e creio que a tabela não possua essa condição. 

    A solução do Alvesanderson é a mais aceitável. 

    • Sugerido como Resposta Fabricio.G segunda-feira, 29 de setembro de 2014 13:12
    • Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 29 de setembro de 2014 18:31
    segunda-feira, 29 de setembro de 2014 13:12
  • Fabricio,

    Se a tabela possuir um campo classificaçao separadado por virgulas (A,B,C), a soluçao proposta pelo Alvesanderson e pelo Graciano, nao vao funcionar tambem.

    Sugiro esperar o "Somar valores de um array" nos dar mais detalhes... Se realmente a tabela contiver valores como:

    "Usuario ID = 2 

    Classificações = A,B,C"

    Entao sera necessario criar uma funçao de split ou criar uma tabela secondaria para arrmazenar as classificaçoes.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 29 de setembro de 2014 13:24

Todas as Respostas

  • Olá,

    Tente!

    Select ID from TABELA where CLASSIFICACAO IN('A','B') 


    Se o meu conteúdo resolveu o seu problema ou sua dúvida, então marque como "Resposta", ou se foi útil, "Vote". Pois isso ajudará outras pessoas com o mesmo problema ou dúvida.

    segunda-feira, 29 de setembro de 2014 13:06
  • Voce poderia descrever um pouco melhor suas tabelas (como vc armazena as classificaçoes, p.ex.)?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 29 de setembro de 2014 13:07
  • Olá,

    Tente fazer dessa maneira

    SELECT id
    FROM Tabela
    WHERE Classificacao IN('a') AND Classificacao IN('b')

    segunda-feira, 29 de setembro de 2014 13:08
  • Ae irmão, o seu select ta trazendo os id dos usuários que possuem ao mesmo tempo a classificação A e B, e creio que a tabela não possua essa condição. 

    A solução do Alvesanderson é a mais aceitável. 

    • Sugerido como Resposta Fabricio.G segunda-feira, 29 de setembro de 2014 13:12
    • Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 29 de setembro de 2014 18:31
    segunda-feira, 29 de setembro de 2014 13:12
  • Fabricio,

    Se a tabela possuir um campo classificaçao separadado por virgulas (A,B,C), a soluçao proposta pelo Alvesanderson e pelo Graciano, nao vao funcionar tambem.

    Sugiro esperar o "Somar valores de um array" nos dar mais detalhes... Se realmente a tabela contiver valores como:

    "Usuario ID = 2 

    Classificações = A,B,C"

    Entao sera necessario criar uma funçao de split ou criar uma tabela secondaria para arrmazenar as classificaçoes.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 29 de setembro de 2014 13:24
  • Olá,

    Tenho uma tabela onde o usuário cadastrado tem uma ID unica, mas possui uma ou mais classificações.

    Exemplo:

    Usuario ID = 1

    Classificações = A,B,C

    Usuario ID = 2 

    Classificações = A,B,C

    Usuario ID = 3 

    Classificações = A,C

    Quero fazer uma busca somente nos usuarios que possuem as classificações A e B (ambas)

    Estava fazendo dessa maneira

    Select ID from TABELA where CLASSIFICACAO = A and CLASSIFICACAO = B 

    Mas nao retorna resultado algum.

    Desde já Agradeço

    Seguinte...

    Se você esta armazenando todas as classificações do mesmo usuário no mesmo campo, você terá que fazer assim:

    Select ID from TABELA where CLASSIFICACAO like '%A%B%';


    Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote

    segunda-feira, 29 de setembro de 2014 13:34