[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