Jump to content
Omar~

Consulta LIKE com restrição

Recommended Posts

Estou precisando fazer uma query em uma tabela usando LIKE, mas preciso restringir que somente sejam mostrados os resultados cujo tenha uma das colunas idênticas.

Exemplo de query (que está errada!!!)

SELECT
    coluna_A,
    coluna_B,
    coluna_C
FROM
    tabela
WHERE
    coluna_A LIKE '%ALGUM_VALOR%'
OR
    coluna_B LIKE '%ALGUM_VALOR%'
AND
    coluna_C = 'tenha esse valor'

Então preciso pesquisar existência de "algum valor" dentro das colunas A e B da tabela, mas que sejam retornados apenas resultados cujo a coluna C seja apenas um valor, que pode duplicar de registro para registro, mas na mesma tabela possuem outros registros cujo a coluna C não são iguais.

 

Obs.: Sempre fiz esse processo de filtrar o resultado via PHP, mas queria saber como fazer diretamente na query.


#EDIT:

Sendo mais específico

Digamos registros mais ou menos assim:

Citar

- Reg 1-------------------------

 coluna_A = "João"

 coluna_B = "João Da Silva"

 coluna_C = "Carpinteiro"

- Reg 2 -------------------------

 coluna_A = "João"

 coluna_B = "João Da Silva"

 coluna_C = "Carpinteiro"

- Reg 3 -------------------------

 coluna_A = "João"

 coluna_B = "João Da Silva"

 coluna_C = "Lenhador"

 

SELECT coluna_A, coluna_B, coluna_C FROM tabela WHERE coluna_A LIKE '%João%' OR coluna_B LIKE '%João% AND   coluna_C = 'Carpinteiro'

Ou seja mesmo que que haja mais de um registro, somente é para trazer os resultados cujo a coluna C for carpinteiro

 

 

 

 

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 Marcones Borges
      Olá, bom dia, estou tendo dificuldade em uma filtragem, quando passo o parâmetro para o select em forma de variável ele não exibe resultados.
       
      Segue o código:

              $usuario='gerente';         function montaSelect()         {         $sql = "SELECT * FROM membros WHERE user='".$usuario."' ";                 $query = mysql_query( $sql );                 if( mysql_num_rows( $query ) > 0 )                 {                         while( $dados = mysql_fetch_assoc( $query ) )                         {                                 $opt .= '<option value="'.$dados['nome'].'">'.$dados['nome'].'</option>';                         }                 }                 else                         $opt = '<option value="0">Nenhum Membro cadastrado</option>';                 return $opt;         }


      Quando substituo a variável pelo nome usuário gerente, ele lista normal, mais na variável não da certo. já tentei user='{$usuario}'  , user='$usuario' , user=$usuario}, nenhuma forma funciona...

      Alguém pode me ajudar..
       
    • By Artur Mendonça
      Olá amigos.
      espero que estejam todos bem.
       
      Estou tentando criar uma galeria de imagens e colocar nestas um botão para votação (Gosto como no Facebook).

      Já consegui criar a galeria e colocar o Like nas imagens, mas acontece que quando  as imagens passam para a linha de baixo o botão Like não acompanha a imagem.
       
      Junto uma imagem para exemplificar como está e como deveria ser.
       
      O CSS está assim
      h1 { text-align: center; color: forestgreen; margin: 30px 0 50px; } .container h2 { text-align: center; color: rgb(8, 8, 8); margin: 30px 0 50px; } .gallery { margin: 10px 50px; padding-right: 0px; padding-left: 0px; } .gallery img { width: 230px; padding: 0px; opacity: 0.5; filter: grayscale(10%); transition: 1s; margin-top: 10px; margin-left: 10px; margin-bottom: 10px; margin-right: 0px; border: 2px solid #ccc; border-radius: 10%; } .ilike { display: grid; border-radius: 10%; box-sizing: border-box; text-align: left; padding: 15px; font-size: 20px; vertical-align: top; position: absolute; z-index: 1000; margin-top: 10px; margin-left: 10px; overflow: hidden; color: white; } O código da página da galeria de fotos está assim:
      <div class="gallery"> <?php $sql = "SELECT * FROM tbl_gallery where aid=$aid"; $num_rows = mysqli_num_rows(mysqli_query($conectar, $sql)); $result = mysqli_query($conectar, $sql); while ($row = mysqli_fetch_array($result)) { $gimage = $row['gimages']; $fotoid = $row['gid']; $likes = $row['likes']; ?> <a href="páginapararegistarovoto" ?> "><i class="far fa-thumbs-up ilike" alt="Vote"> <?php echo $likes; ?> </i></a> <i class="inum" > <?php echo "Foto " . $fotoid; ?> </i> <?php echo "<a href='../fotos/$gimage' data-lightbox='mygallery' data-title='Foto n.º: $fotoid'><img src='../thumbnails/$gimage' class='pic'></a>"; } ?> </div>  
       
       

    • By Marcones Borges
      Olá boa tarde!
      Tenho 3 select e não estou conseguindo habilita-los pela seleção a ideia é selecionar tipo 1 habilita select 1, 2 habilita select 2.

        <select class="form-control input-sm" name="principal" id="principal">                       <option value="select1">Ativa select 1</option>                         <option value="select2">Ativa select 2</option>                       </select>   <select class="form-control input-sm" name="select1" id="select1">                       <option value="opção 1">opção 1</option>                         <option value="opção 2">opção 2</option>                         <option value="opção 3">opção 3</option>                       </select>   <select class="form-control input-sm" name="select2" id="select2">                       <option value="opção 7">opção 7</option>                         <option value="opção 8">opção 8</option>                         <option value="opção 9">opção 9</option>                       </select> //Java script <script type='text/javascript'> var principal = $("#principal"); var select1 = $("#select1"); var select2 = $("#select2"); inst.bind("input", function () {     principal.val("");     select1.val("");     select1.attr("list", null)     var option = $(inst.prop("list")).find("option[value='" + inst.val() + "']");     if (option != null && option.length > 0) {         principal.attr("list", "_" + option.attr("data-value"));     } else {                 principal.attr("list", null)     } }); </script>  
       
      Não consigo colocar pra funcionar...
       
      alguém me ajude um! 
       
    • By Diego-SLP
      Bom dia,
       
      Tenho uma pagina para editar meus registros do banco e em um campo select o que está definido no banco de dados não aparece selecionado, vem com um valor em branco, sendo que meu ID e meu VALOR para esta tela é o mesmo campo, nao estou utilizando ID e VALOR.
       
      <!--INICIO FORMULARIO PESQUISAR DOSAGEM--> <form action="atualizar_movcbuq.php?id=<?php echo $_GET['id']; ?>" method="post" name="pesquisar" > <?php $busca = mysqli_query($con,"SELECT data,faixa,ticket,quantidade,obra_cliente,horae,horas,placa,operacao from dosagem_usina where id ='".$_GET['id']."'"); while ($linha = mysqli_fetch_array($busca)) { $data = date('d/m/Y', strtotime($linha['data'])); $faixa = $linha['faixa']; $ticket = $linha['ticket']; $quantidade = $linha['quantidade']; $obra = $linha['obra_cliente']; $horae = $linha['horae']; $horas = $linha['horas']; $placa = $linha['placa']; ?> <!--INICIO CAMPO--> <div class="col-2"> <label>Faixa</label> <div class="input-group-prepend"> <span class="input-group-text"><i class="fas fa-list-ol"></i></span> <select class="form-control" name="faixa" style="width: 100%;" data-select2-id="1" aria-hidden="true"> <?php $preenche_faixa = mysqli_query($con,"select faixa from dosagem_usina group by faixa"); while($dados = mysqli_fetch_assoc($preenche_faixa)) { echo "<option value='".$dados['faixa']."' >".$dados['faixa']."</option>"; } ?> </select> </div> </div> <!--FIM CAMPO--> <?php } ?>  
    • By Public2004
      Boas. Gostaria da ajuda dos colegas para analisar a possibilidade de otimizar a seguinte situação: Tenho um "select" simples para trazer um registro específico e que atenda uma determinada condição (where) - Após este "select", recupero o "id" deste registro e utilizo para fazer mais dois "select", um para trazer o registro anterior e  outro para o próximo (id) utilizando MIN e MAX. Tem como fazer tudo isso em um único "select" ?
       
      Tks.
×

Important Information

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