Jump to content
Omar~

Consulta parcial no banco

Recommended Posts

Alguém poderia me dar um exemplo de query que busque um resultado parcial de algum texto no banco.

Exemplo:

Digamos que eu tenha várias tabelas, em uma dessas tenho uma coluna com o seguinte texto "João e maria foram passear na floresta"

Então a busca seria digamos "passear" a query vai fazer um select em todas as tabelas e retornar todas os resultados que tenham a palavra "passear".

 

E sim é um sistema de pesquisa.

Share this post


Link to post
Share on other sites

 

 

 

solução em oracle e sql server, basicamente usar a tabela de metadados e
montar sql dinamicos para a busca
não conheço detalhes de mysql para escrever uma solução


https://forum.imasters.com.br/topic/501312-busca-geral-no-banco-de-dados/#entry1984427

https://forum.imasters.com.br/topic/501155-localizar-registro-em-tabela/

 

 

 

 

  • +1 1

Share this post


Link to post
Share on other sites
Citar

fazer um select em todas as tabelas

 

havia entendido ser este seu problema , para uma coluna e tabela o LIKE resolve.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Alberto Nascimento
      Estou tentando, mas não esta exibindo o registro...
       
      localizar.php
       
      <?php session_start(); $_SESSION["localizarfotografia"] = $_POST["codphoto"]; ?> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>EXIBIR FOTOGRAFIA PELO CÓDIGO INTERNO</title> <style type="text/css"> <!-- .Style6 {font-size: 13px} .auto-style20 { text-align: center; } .auto-style22 { background-color: #FEB624; } .auto-style23 { font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: xx-small; text-align: center; } .auto-style25 { background-color: #FFCC66; } .auto-style26 { font-size: x-small; } .auto-style27 { font-size: x-small; text-align: center; } .auto-style28 { text-align: center; background-color: #FEB624; } --> </style> </head> <body style="margin-top: 50"> <body onload="form1.login.focus();"> <form id="form1" name="form1" method="post" action="pesquisaragora.php"> <div class="auto-style20"> <table align="center" cellpadding="0" cellspacing="0" class="auto-style23" style="width: 500"> <tr> <td class="auto-style20"> &nbsp;</td> </tr> <tr> <td class="auto-style22"> &nbsp;</td> </tr> <tr> <td class="auto-style25" style="height: 41px">Informe o código da FOTOGRAFIA abaixo</td> </tr> <tr> <td class="auto-style25"> <table align="center" style="width: 450"> <tr> <td class="auto-style27"><span class="Style6"> <label> <input name="codphoto" type="text" id="codphoto" style="width: 305px; height: 83px;" /></label></span></td> </tr> <tr> <td class="auto-style26"><strong> </strong></td> </tr> <tr> <td class="auto-style20"><span class="Style6"> <label> <input type="submit" name="Submit" value="LOCALIZAR PHOTO" /></label></span></td> </tr> </table> </td> </tr> <tr> <td class="auto-style25">&nbsp;</td> </tr> <tr> <td class="auto-style28"> &nbsp;</td> </tr> </table> <br></div> </form> </body> </html>  
      pesquisarphoto.php
       
      <?php include("config.php"); $codphoto = $_POST['codphoto']; $sql_logar = "SELECT * FROM photos WHERE codphoto = '$codphoto'"; $exe_logar = mysql_query($sql_logar) or die (mysql_error()); $fet_logar = mysql_fetch_assoc($exe_logar); $num_logar = mysql_num_rows($exe_logar); $codphoto = $fet_logar['codphoto']; $nome = $fet_logar['nome']; $cidade = $fet_logar['cidade']; $uf = $fet_logar['uf']; if ($num_logar == 0){ echo "Desculpe, mas a foto não foi localizada."; echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui e tente novamente.</a>"; } else{ session_start(); $_SESSION['codphoto'] = $codphoto; $nome = $fet_logar['nome']; $cidade = $fet_logar['cidade']; $uf = $fet_logar['uf']; echo $exibir["codphoto"]; echo $exibir["nome"]; echo $exibir["cidade"]; echo $exibir["uf"]; } ?>  
       
       
       
       
       
       
       
       
    • By wsilva7
      Bom dia.
      Pessoal criei um form de pesquisa e nele tenho dois Edits,
      um para o codigo e outro onde digito o nome a ser pesquisado e um dbgrid ele 
      exibe o resultado da pesquisa.
      Coloquei um IBQuery e esta tudo ligado. Em um button coloquei o seguinte codigo:
      procedure Tfrmconsultafornecedores.BitBtn1Click(Sender: TObject);
      begin
      QryConsFornecedor.CLOSE;
      QryConsFornecedor.Params[0].AsString:= '%'+Edit1.Text+'%';
      QryConsFornecedor.Params[1].AsString:= '%'+Edit2.Text+'%';
      QryConsFornecedor.Open;
      end;
      Esta tudo funcionando
      O que eu nao estou conseguindo fazer é ao clicar duas vezes no DBGRID, o resultao da pesquisa feita ser carregado no formulario de cadastro.
      Exemplo. Cadastro de clientes nele efetuo a pesquisa por fulano de tal, ao ser encontrado o fulano de tal, dar dois clics e ai o form de pesquisa fecha e abre o form de cadastro posicionado no form de cadastro de clientes.
      Desde já agradeço.
    • By Tadeu Neto
      Boa tarde, estou tentando criar uma pesquisa no mongo em que ao digitar uma palavra ele pesquise tanto por palavras acentuadas quanto sem ex: água, agua, café, cafe, cafee, joão, joao e assim vai. 
       
      Já vi algumas coisas mais não consegui ter o resultado necessário, pode ser por minha falta de experiência.
       
      Obrigado pela ajuda.
    • By heddyman
      boa tarde colegas... estou desenvolvendo um trabalho para a faculdade e estou com problemas no meu código. Na hora hora que eu seleciono a opção de pesquisa ele trava. Podem me ajudar por favor....
      #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> /*Faça um algoritmo em linguagem C que emule as características de um player de músicas sendo executado em modo texto, via prompt de comando. 1. Deve-se criar uma playlist das músicas utilizando uma lista encadeada. A lista encadeada poderá ser simples ou dupla, circular ou não circular. Fica a critério do aluno decidir. 2. Deve-se armazenar o nome de cada música, do artista/banda e a duração da faixa. Para o armazenamento utilize uma estrutura heterogênea de dados. 3. Para inserção dos dados, você pode criar uma leitura dos dados através de um menu na tela ou já deixá-los armazenados em um arquivo texto no seu computador e só carregar este arquivo ao executar o programa. Ou ambas soluções. Decida também como você irá implementar a inserção (no início, no fim ou no meio da lista encadeada); 4. Deve existir um menu na tela. Este menu deve permitir a inserção de novas músicas (caso optado pela inserção manual de dados), deve ter a opção de listar todas as músicas da playlist (listagem de uma lista encadeada) na tela e encerrar o*/ struct Lista { char musica[40], cantor[40]; float duracao; Lista *prox; }; Lista *inicio, *fim, *aux; void inserirMusica() { int c; Lista *novo = (struct Lista *)malloc(sizeof(struct Lista)); printf("\nQual eh a musica? "); fgets(novo->musica, 39, stdin); printf("De quem eh a musica? "); fgets(novo->cantor, 39, stdin); printf("qual a duracao da musica? "); scanf("%f", &novo->duracao); while ((c = getchar()) != '\n' && c != EOF) {} // Limpar buffer do teclado novo->prox = NULL; if (inicio == NULL) //A Fila esta vazia e iremos inserir o primeiro elemento { inicio = fim = novo; } else { fim->prox = novo; fim = novo; } } void esvaziarLista() { char ch; if (inicio == NULL) { printf("\nA fila esta vazia!\n\n"); } else { printf("\nTem certeza que deseja esvaziar toda a lista?(s/n): "); ch = getchar(); if (ch == 's' || ch == 'S') { while (inicio != NULL) { aux = inicio; inicio = inicio->prox; free(aux); // Libera o espaco na memoria } printf("\nA lista foi esvaziada com sucesso!!\n\n"); } else { printf("\nA lista nao foi esvaziada!!\n\n"); } } } void mostrarLista() { aux = inicio; if (inicio == NULL) { printf("\nA lista esta vazia!"); } else { while (aux != NULL) { printf("musica: %s", aux->musica); printf("cantor: %s", aux->cantor); printf("duracao: %f\n\n", aux->duracao); aux = aux->prox; } } printf("\n\n"); } void localizarMusica() { aux = inicio; if (inicio == NULL) { printf("\nA lista estah vazia!"); } else { char musica[40]; printf("Digite a musica que procura: "); scanf("%s", &aux); while (aux != NULL) { if (musica == aux->musica) { printf("\nMusica %s localizada!\n\n", aux->musica); printf("musica %s", aux->musica); printf("cantor: %s\n\n", aux->cantor); return; } else { aux = aux->prox; } } if (aux == NULL) { printf("\nMusica %s nao localizada!\n", musica); } } printf("\n\n"); } int main() { setlocale(LC_ALL, ""); system("color 0E"); int opt, c; do { printf("*==================================*\n"); printf("| Simulador de Player de Musica |\n"); printf("*==================================*\n\n\n\n"); printf("*===========================*\n"); printf("| 1. Inserir Música |\n"); printf("| 2. Pesquisar Músicas |\n"); printf("| 3. listar Músicas |\n"); printf("| 4. Limpar Lista do Player |\n"); printf("| 5. Sair |\n"); printf("*===========================*\n"); printf("Digite sua escolha: "); scanf("%d", &opt); while ((c = getchar()) != '\n' && c != EOF) {} // Limpar buffer switch (opt) { case 1: inserirMusica(); printf("\nMusica inserida com sucesso!!\n\n"); system("pause"); break; case 2: localizarMusica(); system("pause"); break; case 3: mostrarLista(); system("pause"); break; case 4: esvaziarLista(); system("pause"); break; case 5: printf("\nO programa foi encerrado com sucesso!!\n\n"); system("pause"); break; default: printf("\nEscolha Invalida!!\n\n"); system("pause"); break; } system("cls"); } while (opt != 5); return 0; }  
    • By Ribis
      Prezados, bom dia.
       
      Me cadastrei no fórum a fim de ajudar um amigo.
      Ele realiza pesquisa de vagas laborais no site governamental: https://empregabrasil.mte.gov.br/, o qual possui um campo de pesquisa denominado "Vagas de Emprego", onde se digita algo a ser encontrado.
      Anteriormente, além de digitar neste campo de pesquisa, existiam filtros que deveriam ser preenchidos, tais como: estado, cidade e etc., os quais restringiam e finalizavam a busca.
      Ocorreu mudança no sistema de pesquisa do site, sendo que: primeiramente se digita no campo de pesquisa e depois, se encontrar algum resultado de pesquisa, é que os filtros (estado, cidade e etc) serão habilitados...
       
      Antes de ocorrer a mudança no sistema de pesquisa do site, meu amigo digitava "%%%" (sem as aspas) e obtinha vários resultados, logo em seguida, aplicava os filtros correspondentes para restringir sua busca.
      Agora, a forma de pesquisa tornou-se complicada,  pois, considera-se os caracteres de forma genérica e o sistema de filtros nem sempre abrem, o "%%%" não funciona e etc.
      Enfim, tornou-se complicado algo que era relativamente simples.
       
      Pois bem, após estas explicações, peço a vocês: por favor, existe algum "operador de pesquisa" que possa ser digitado para retornar todos os valores existentes no banco de dados do site, o que consequentemente, fará com que o sistema de filtro seja habilitado e possa se restringir a busca?

      *Moderação, não sei qual o tipo de programação utilizada no site supracitado, coloquei o tópico na sessão HTML e CSS, por entender que seria mais apropriado.
       
      Desde já, agradeço a todos que possam tentar ajudar.
      Ribis.
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.