Pessoal porque JOIN não funciona no windows98
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
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
Curtidas 0
Respostas
Beppe
15/07/2004
DEBITO.NOME_CLIENTE = DEBITO.NOME_CLIENTE naum vai ser sempre True?
A SQL poderia ficar assim, dando aliases ás tabelas:
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)
GOSTEI 0
Aroldo Zanela
15/07/2004
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?
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?
GOSTEI 0
Adilsond
15/07/2004
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
GOSTEI 0