[firebase-br] OFF - AJUDA COM SELECT

eduardo eduardo em icontroller.com.br
Qui Ago 11 19:15:26 -03 2005


Oi Cesar

> EU Tenho uma tabela Chamada Contas e outra chamada Pagamento.. e tabela 
> de PAgamento esta amarrada com a tabela de Conta tal como esta o exemplo 
> abaixo..
> neste select ele me da esse resultado
> 
> COD         COD_CONTA          NUMERO      VALOR
> 0001                0002                        1 6.870,00
> 0002                0002                        2 15.010,00
> 0003                0002                        3 810,00
> 
> agora eu gostaria de fazer uma consulta que busque pelo o campo NUMERO  
> ai eu coloco num Edit por exemplo o valor 3 ai apareça isso aqui num dbgrid
> 
> 0003                0002                        3 810,00
> 
> eu estava fazendo deste jeito..mais aparecia todos os numeros 3 que 
> existe na tabela.. e eu naum quero isso..
> With Modulo.SqlParcela do begin
>  Modulo.SqlParcela.Close;
>  Modulo.SqlParcela.SQL.Clear;
>  SQL.Add('SELECT * FROM PARCELAS');
>  SQL.Add(' C WHERE C.NUMERO LIKE :FILTRO');
>  ParamByName('Filtro').AsString := Edit1.Text + '%';
>  Prepare; // Para preparar a consulta pra execução
>  Open;

Desculpe se o que vou dizer parece muito básico, mas pelo o que você 
postou, foi o que eu entendi, e talvez você esteja iniciando mesmo.

Você está pesquisando por '3%'. Desta forma, tudo que começar por 3 virá 
na consulta. Se você quer só o 3, então tire o '%' e substitua o LIKE 
por '='.

Outra coisa que você deve considerar é que deve haver outras contas com 
parcela '3'. Se você quer só da conta '0002', então esta condição deve 
ir no WHERE também.

Uma outra coisa é que Campos PARCELA, normalmente são numéricos e não é 
comum pesquisar números com LIKE.

Normalmente, SELECTs com código de conta e valor são para somatória dos 
valores. Este é seu caso? Se for, você tem que agrupar, mas aí é outra 
história e terei prazer em responder.

[]s Eduardo





Mais detalhes sobre a lista de discussão lista