Busca No Banco De Dados
#1
Posted 30/12/2009, 18:23
Estou com um problema a respeito de busca no banco de dados.
Na tabela existem um campo de nome codigos que contem o seguinte: -T1-V1-V2-N-T3 em outros pode constar outra configuração exemplo: -T1-N-T3
Preciso fazer uma busca no banco para a possibilidade de relatório e impressão de quantidade de ocorrencia para todos os itens que contenha neste campo o código "T1".
A busca seria $query = "SELECT * FROM codigo WHERE qual='T1'";
Mas como neste campo tem outros caracteres alem do T1 não sei como realizar esta pesquisa.
Desde ja, agradeço.
#2
Posted 30/12/2009, 19:18
SELECT * FROM codigo WHERE qual LIKE '%T1%'[]sAté mais
- Marcus Nunes likes this
#3
Posted 30/12/2009, 22:31
SELECT * FROM codigo WHERE qual LIKE '%T1%'[]’s
Ocorreu erro
#5
Posted 05/01/2010, 15:53
Qual erro?
Preciso colocar o valor a ser procurado pelo like numa variavel, usei assim:
SELECT * FROM codigo WHERE qual LIKE '%$categ%'
Sendo que a variavel $categ teria o valor de 'T' conforme a explicação do amigo.
#6
Posted 05/01/2010, 16:04
Exemplo:
SELECT * FROM alunos WHERE nome LIKE 'Renan%'Retorna todos os nomes que "comecem" com Renan e o que vem posteriormente não "importa".
SELECT * FROM alunos WHERE nome LIKE '%Queiroz'Retorna todos os nomes que "terminem" com Queiroz e o que vem anteriormente não "importa".
SELECT * FROM alunos WHERE nome LIKE '%L.%'Retorna todos os nomes que "possuem" L. e o que vem anteriormente e posteriormente não "importa".
Entendido? Agora tente isso:
"SELECT * FROM codigo WHERE qual LIKE '%". $variavel ."%'"Acredito que seja assim, se não me engano (sintax).
Se bem que assim também funciona:
"SELECT * FROM codigo WHERE qual LIKE '% $variavel %'"
Edição feita por: Renan L. Queiroz, 05/01/2010, 16:06.
Especialidade: Desenvolvimento e Banco de Dados.
Este post lhe ajudou? Agradeça:
#7
Posted 05/01/2010, 16:18
O simbolo de porcentagem é uma cláusula para que tudo que esteja "antes" e "depois" seja "qualquer coisa"
Exemplo:SELECT * FROM alunos WHERE nome LIKE 'Renan%'Retorna todos os nomes que "comecem" com Renan e o que vem posteriormente não "importa".SELECT * FROM alunos WHERE nome LIKE '%Queiroz'Retorna todos os nomes que "terminem" com Queiroz e o que vem anteriormente não "importa".SELECT * FROM alunos WHERE nome LIKE '%L.%'Retorna todos os nomes que "possuem" L. e o que vem anteriormente e posteriormente não "importa".
Entendido? Agora tente isso:"SELECT * FROM codigo WHERE qual LIKE '%". $variavel ."%'"Acredito que seja assim, se não me engano (sintax).
Se bem que assim também funciona:"SELECT * FROM codigo WHERE qual LIKE '% $variavel %'"
Entendi obrigado e funcionou perfeitamente agora.
Só mais uma questão e se neste caso eu quiser que não seja exibido apenas o que constar na variavel, poderia ser usado assim:
"SELECT * FROM codigo WHERE qual NOT LIKE '% $variavel %'"
#8
Posted 05/01/2010, 16:52
Me traga todos os registros que não "contenham" minha "variável" no campo "qual".
Se for exatamente isso que você quer, se adequa corretamente!
Caso contrário, que é o que estou percebendo, no caso de se ter uma string
com vários "tipos" no registro, esses também não serão incluídos na consulta!
Exemplo: qual = "T1-V1-V2-N-T3"
Colocando o NOT LIKE com "T1", todos registros que contenha o T1 não serão apresentados!
Edição feita por: Renan L. Queiroz, 05/01/2010, 16:54.
Especialidade: Desenvolvimento e Banco de Dados.
Este post lhe ajudou? Agradeça:
#9
Posted 06/01/2010, 18:16
Exemplo:
"SELECT * FROM codigo WHERE qual LIKE '% $variavel %'" and (qual LIKE '% $variavel2 %'" or qual LIKE '% $variavel3 %')"
Assim seria exibido caso aparecesse 'T1' and V1 ou V2, certo?
Obrigado pela ajuda.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)