Ir para conteúdo
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

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por teteuvec
      Prezados boa noite!
       
      Gostaria de ajuda com um problemas na pesquisa select do trecho abaixo. Devo estar errando na sintaxe.
       
      O erro que retorna é Unknown column 'link_record' in 'where clause', porém esta coluna existe!
       
      <td bgcolor="#F5F5F5"><?php $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = '1' order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($data2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$data2["name"]."</br>"; echo "CPF/CNPJ: ".$data2["cpf_cnpj"]."</br>"; echo "e-mail: ".$data2["email"]."</br>"; echo "Celular: ".$data2["cellphone"]."</br>"; echo "Telefone: ".$data2["telephone"]."</br>"; echo "Documento de identificação: ".$data2["name"]."</br>"; echo "</br>"; }?> </td>  
    • Por camargo.2018
      Tou querendo fazer um sistema de like alguém sabe oque estou errando ?
      Pós não tenho muito conhecimento em JavaScript
       
      <script type="text/javascript">
      $(".like2").click(function(){
         function(){
      if($(this).attr("src") == 'img/like-yes.png')
          document.getElementsByid('gosto').src = 'img/like-no.png';
      else
         document.getElementsByid('gosto').src = 'img/like-yes.png';
      }
      });
                  </script>
                  <div class="like" id="<?php echo $post["id"]; ?>">
                      <img class="like2" src="<?php if($like['like'] == "yes"){echo 'img/like-yes.png';}else{ echo'img/like-no.png'; }?>" id="gosto" style="margin-top:10px;width:20px;height:20px;cursor: pointer;margin-left:20px;"><p style="position: absolute;padding-left: 50px;margin-top: -22px;color:#999;cursor: pointer;">Curtir</p>
                  </div>
    • Por JoaoVituBR
      Olá pessoal, eu tenho uma duvida, no meu banco de dados eu tenho duas tabelas
      [usuarios]


      [users_items]

       
      e tenho uma área em meu site em que tem varias abas com o nome dos jogos que o usuário possui e que quando clicado lista todos os itens que está no inventario de cada jogo,
      mas eu gostaria de listar apenas os jogos em que esteja listado na tabela users_items para certo usuário.
       
    • Por Carlos Primo
      Olá, fiz um código VBA Sql para consultar dados de uma tabela e atribuí os valores dos dados em 3 variveis, porem uma das váriaveis não funciona corretamente.
      Os dados desta variavel que não funciona possui letras e números, pois os dados da tabela referente a esta variavel possui letras e números.
      Quando coloco o valor direto dentro do select o código funciona, mas com variável não da certo.
      Também funciona quando retiro esta variável.
      No código, o nome da variável é PREFIX
       
      O erro que aparece é esse:
      Run-time error '-2147217900 (80040e14)':
      [Microsoft][ODBC SQL Server Driver]  Invalid column name 'Y18HW'.

       
      Segue o código:
       
      Sub sb_RetornaConsulta()
       
      Application.ScreenUpdating = False
         
          Dim obj_Connection As New ADODB.Connection
          Dim obj_RecordSet As New ADODB.Recordset
          Dim str_SQL As String
          Dim str_PlanilhaDestino As String
          Dim str_ConnString As String
          Dim str_LinhaInicial As String
          Dim nr_coluna As Integer
          Dim Prefix As Variant
          Dim S_Inicia As Variant
          Dim S_Fina As Variant
          
           Prefix = frm_Serie.Pref.Value        'Valor do prefixo digitado no textbox da userform = Y18HW 
           S_Inicia = frm_Serie.S_Inicial.Value 'Valor do Inicial digitado no textbox da userform = 177781 
           S_Fina = frm_Serie.S_Final.Value     'Valor do Final digitado no textbox da userform = 179780
                
          str_PlanilhaDestino = "Resultado"
          str_ConnString = "Driver={SQL Server};server=NOME DO SERVER; Database=NOME DA BASE; UID=USUÁRIO;PWD=SENHA"
          str_LinhaInicial = 3
          
          
          
          str_SQL = "SELECT TABELA.NRSerie AS Serie, TABELA.BancadaID AS Bancada, " & _
                      " TABELA.ResQn AS Qn, TABELA.ResQt AS Qt, " & _
                      " TABELA.ResQm AS Qm, TABELA.Data AS [Data Produção] " & _
                      " FROM TABELA " & _
                      " WHERE TABELA.Serie >= " & S_Inicia & " " & _
                      " AND TABELA.Serie <= " & S_Fina & " "
                      " AND Tabela.Prefixo = " & Prefix & " " & _
                      " ORDER BY TABELA.NRSerie DESC "
              
          ' Limpa dados
          Sheets(str_PlanilhaDestino).Select
          Cells.Select
          Selection.ClearContents
          Range("A1").Select
       
          ' Executa query no SQL
          obj_Connection.Open str_ConnString
          obj_RecordSet.Source = obj_Connection
          obj_RecordSet.Open str_SQL, obj_Connection
              
          ' Inclui cabeçalhos da query:
          For nr_coluna = 0 To obj_RecordSet.Fields.Count - 1
              Worksheets(str_PlanilhaDestino).Cells(str_LinhaInicial, nr_coluna + 1).Value = obj_RecordSet.Fields(nr_coluna).Name
          Next
           
          ' Salva dados no Excel
          Sheets(str_PlanilhaDestino).Cells(CInt(str_LinhaInicial + 1), 1).CopyFromRecordset obj_RecordSet
       
          ' Finaliza conexão e objetos
          obj_RecordSet.Close
          obj_Connection.Close
          Set obj_RecordSet = Nothing
          Set obj_Connection = Nothing
           
           
           Application.ScreenUpdating = True
           
           frm_Serie.Hide
           
      End Sub
    • Por Enlibra
      Como fazer o select (php) de todos os dados de 2 tabelas sem registos id comuns.
      por exemplo uma tabela de custos e outra de tesouraria em que queria listar os movimentos por data mas sem relação entre elas?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.