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

Instrução Sql - Dúvida


LukeSkywalker

Pergunta

Prezados Colegas

Preciso realizar uma pesquisa onde o usuário pode escolher uma ou mais categorias e então a pesquisa retornará todos os registros que tenham os códigos passados como parâmetro.

Até agora eu cosigo fazer passando apenas um código e retornar todos os registros que contenham o código passado como parametro, mas e quando o usuário pode passar vários códigos e quer todos os registros quem tenham todos os códigos passados ?

Bom

Será que tem jeito ?

Se alguém puder me ajudar eu agradeço antecipadamente.

Até mais

Luke

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Estaria falando disso:

SELECT * FROM Produtos WHERE Codigo=1
--Apenas um valor para um parâmetro (campo)
SELECT * FROM Produtos WHERE Codigo=1 OR Codigo=2 OR Codigo=99
--Vários valores para um parâmetro (campo)
--Ou seja, utilize o operador 'OR'

Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que entendi você que uma instrução SQL que caso se pesquise uma ou mais palavras ela procure as palavras individualmente, como o site de busca do google por exemplo.

Supondo que a variavel "que" receba as palavras a serem buscadas:


que = Request("que")
if len(que) > 0 then
ObjConn.CursorLocation = 3
'MULT WORDS SEARCH QUERY----------------------------------------------------------------------
    fieldsArray = array("categoria","banda","release")
    tmpSQLString = ""
    que = que & " "
    countStripes = 0
    for fieldsArrayCount = 0 to UBOUND(fieldsArray)
        p0 = 1
        p1 = instr(1,que," ")
        while p1 <> 0
            myText = mid(que,p0,p1-p0)
            if countStripes = 0 then orVar = "" else orVar = " OR"
            tmpSQLString = tmpSQLString & orVar & " " & fieldsArray(fieldsArrayCount) & " LIKE '%" & myText & "%'"
            countStripes = countStripes + 1
            p0 = p1+1
            p1 = instr(p1+1,que," ")
        wend
        tmpSQLString = tmpSQLString & " OR " & fieldsArray(fieldsArrayCount) & " LIKE '%" & mid(que,1,len(que)-1) & "%'"
    next
SQLString = "SELECT * FROM bandas WHERE" & tmpSQLString & " GROUP BY banda HAVING COUNT(*) >= 1 ORDER BY categoria DESC"
'MULT WORDS SEARCH QUERY----------------------------------------------------------------------------------

aqui a instrução SQL é montada dinamicamente a partir do numero de palavras pesquisadas.

:blink:

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...