ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

duas "where' na mesma query [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
dleal
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 15 de Mai de 2014
Mensagens: 156

MensagemEnviada: Ter Set 15, 2015 8:51 pm    Assunto: duas "where' na mesma query [RESOLVIDO] Responder com Citação

Pessoal, boa noite!
tenho uma consulta onde em um combobox seleciono o mês...
Acontece que na mesma consulta, devo selecionar o ano em um outro combobox.
Sei que não é difícil, mas acho que "colei as placas" (rs).

A consulta somente com um combo (mês) é a seguinte:
Código:

procedure Tfproxvisita.Button1Click(Sender: TObject);
begin
    IBquery1.Close;
    IBquery1.SQL.Clear;
    IBquery1.SQL.Add(' select *  from SAIDA_PAI ');
    IBquery1.SQL.Add('  where SAIPAI_PROX_VISITA  LIKE '+QUOTEDSTR(Combobox1.Text+'%'));
    //query1.SQL.add(Edit1.text +'%');
    IBquery1.open;

    Combobox1.SetFocus;
end;



tenho no form mais um "combobox2" que deve buscar o campo "SAIPAI_ANO_PROXVISITA".
Alguém pode me ajudar a lembrar?
Grato,
Luciano


Editado pela última vez por dleal em Seg Jan 04, 2016 4:55 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Qua Set 16, 2015 8:08 am    Assunto: Responder com Citação

vc deve usar o operador AND:

Código:
SELECT * FROM tabela
WHERE campo_mes = 9 AND campo_ano = 2015
ORDER BY campo

_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
dleal
Aprendiz
Aprendiz


Registrado: Quinta-Feira, 15 de Mai de 2014
Mensagens: 156

MensagemEnviada: Qua Set 16, 2015 1:13 pm    Assunto: Responder com Citação

joemil escreveu:
vc deve usar o operador AND:

Código:
SELECT * FROM tabela
WHERE campo_mes = 9 AND campo_ano = 2015
ORDER BY campo


Boa tarde, Joemil!
Obrigado pela resposta.
consegui resolver, fiz assim:

Código:

procedure Tfproxvisita.Button1Click(Sender: TObject);
begin
    IBquery1.Close;
    IBquery1.SQL.Clear;
    IBquery1.SQL.Add(' select SAIPAI_PROX_VISITA, SAIPAI_ANO_PROXVISITA, SAIPAI_codcliente from saida_pai as a ');
    ibquery1.SQL.Add('where exists(select 1 SAIPAI_PROX_VISITA, SAIPAI_ANO_PROXVISITA, SAIPAI_codcliente from SAIDA_PAI as p');
    ibquery1.SQL.Add('where  a.SAIPAI_PROX_VISITA = ' + QuotedStr(ComboBox1.Text)
     + ' and p.SAIPAI_ANO_PROXVISITA = ' + QuotedStr(ComboBox2.Text) + ')');
    ibquery1.open;
    IBquery1.open;

    Combobox1.SetFocus;
end;



Pode ter ficado um pouco confuso, mas deu certinho.

Aproveitando a oportunidade, tenho mais uma dúvida:
Como fazer o delphi avisar 3 dias antes de uma data?
por exemplo, tenho um cliente que a data da próxima manutenção é em 30 de setembro de 2015. Então, no dia 27 de setembro, o sistema irá abrir uma mensagem avisando que o cliente "tal" terá manutenção a realizar.

Se puder me ajudar, agradeço...
Abraços,
Luciano
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB