Pessoal porque JOIN não funciona no windows98

15/07/2004

0

Pessoal utilizo este comando para buscar na tabela de clientes
todos que estão em atrazo, programo no XP, tudo funciona normal, quando leva p/ maquinas que teno o 98 o sistema trava literalmente!.
isto em varios computadores diferentes uso interbase 6.0

  With Tb_Debitos,Sql do
    begin
    Try
      Clear ;
      Add(´SELECT * FROM CLIENTES´);
      Add(´WHERE NOME IN ( SELECT DEBITO.NOME_CLIENTE´);
      Add(´FROM DEBITO´) ;
      Add(´LEFT JOIN DEBITO ON (DEBITO.NOME_CLIENTE = DEBITO.NOME_CLIENTE)´) ;
      Add(´WHERE DEBITO.DATA_VENCIMENTO <=:VarDataI)´);
      ParamByName( ´VarDataI´ ).AsDateTime :=(Now) - Dias ;
      Active := True ;
      Result:=True;
 Except



Essistemas

Essistemas

Responder

Posts

15/07/2004

Beppe

DEBITO.NOME_CLIENTE = DEBITO.NOME_CLIENTE naum vai ser sempre True?

A SQL poderia ficar assim, dando aliases ás tabelas:
SELECT * FROM
  CLIENTES
WHERE
  NOME IN (SELECT D1.NOME_CLIENTE FROM D1
    LEFT JOIN DEBITO D2 ON (D1.NOME_CLIENTE = D2.NOME_CLIENTE) 
    WHERE D2.DATA_VENCIMENTO <=:VarDataI)



Responder

15/07/2004

Aroldo Zanela

Colega,

A eficiência de gerenciamento de memória no W98 é inferior a do XP, bem como, o uso de subqueries com o operador IN degrada bastante suas consultas. No entanto, apesar de não ter utilizado Interbase, não me recordo de nenhum apontamento análogo. As configurações de hardware das máquinas são adequadas? A rede está certificada?


Responder

15/07/2004

Adilsond

with Tb_Debitos,Sql do
  begin
    try
      Clear;
      Add(´SELECT *´);
      Add(´FROM CLIENTES´);
      Add(´INNER JOIN DEBITO´);
      Add(´  ON (DEBITO.NOME_CLIENTE = CLIENTES.NOME)´);
      Add(´WHERE DEBITO.DATA_VENCIMENTO <= :VarDataI´);
      ParamByName(´VarDataI´).AsDateTime := Now - Dias;
      Active := True;
      Result:=True;
    except



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