Como fazer um select com mais de um WHERE ?

07/02/2017

0

Bom dia,
Tenho que fazer um select com mais de um filtro , como eu faço ?
Segue oque estou tentando
  else if radiogroup1.ItemIndex = -1 then
          begin
          DM.qTarefaLead.Close;
          DM.qTarefaLead.sql.text :='SELECT * FROM GTELTAREFA'+
            ' LEFT OUTER JOIN GTELCLI ON (GTELCLI.CODCLICL = GTELTAREFA.COD_CLIENTE)'+
            ' WHERE DESCRICAO LIKE '+#39+edit3.Text+'%'+#39''+
            ' AND USUARIO_ABERTURA LIKE '+#39+dblookupcombobox2.Text+'%'+#39''+
            ' AND NOMCLICL LIKE '+#39+dblookupcombobox3.Text+'%'+#39''+
            ' AND CATEGORIA LIKE '+#39+dblookupcombobox1.Text+'%'+#39'';
          DM.qTarefaLead.Open;
          end;
Rodrigo Oliveira

Rodrigo Oliveira

Responder

Posts

07/02/2017

Eduardo Guimaraes

Não entendo de Delphi, mas acredito que o problema esteja nesta parte do código:


WHERE DESCRICAO LIKE ''+#39+edit3.Text+''%''+#39''''+
'' AND USUARIO_ABERTURA LIKE ''+#39+dblookupcombobox2.Text+''%''+#39''''+
'' AND NOMCLICL LIKE ''+#39+dblookupcombobox3.Text+''%''+#39''''+
'' AND CATEGORIA LIKE ''+#39+dblookupcombobox1.Text+''%''+#39''''


Você precisa definir de qual tabela esta pegando esses campos.

O ideal seria algo parecido com isso:

SELECT *
FROM GTELTAREFA
LEFT OUTER JOIN GTELCLI
 ON (GTELCLI.CODCLICL = GTELTAREFA.COD_CLIENTE)
WHERE GTELTAREFA.DESCRICAO LIKE ''+#39+edit3.Text+''%''+#39'''' (...)


Nesse exemplo de cima é para o caso do campo descrição estar na tabela GTELTAREFA.

Você também precisa verificar se não seria o caso de usar LIKE %<dados>% na sua consulta.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar