Fórum pesquisa select com um parametro em três situação #331195
16/10/2006
0
[color=red:d479057af0]WITH SQLCC DO //CHEQUES a Vencer
Begin
Close;
SQL.Clear;
SQL.Add(´Select sum(valor) as totca From CHEQUE where nomecliente = :pClin and situ is null and DATACADASTRO >= :pData´);
ParamByName(´pClin´).AsString := Edit5.Text;
ParamByName(´pData´).AsSQLTimeStamp := DateTimeToSQLTimeStamp(DATE);
Open;
end;[/color:d479057af0]
o Campo situ pode esta gravado no banco como = ´Q´ ou como ´D´ ou como ´T´ ou como null.
o que preciso é buscar todos os registros que o campo situ seja diferente de ´Q´.
so estou conseguindo trazer o campo campo com valor NULL
Me ajude nesta busca
Dpinho
Curtir tópico
+ 0Posts
16/10/2006
Steve_narancic
WITH SQLCC DO //CHEQUES a Vencer Begin Close; SQL.Clear; SQL.Add(´Select sum(valor) as totca From CHEQUE where nomecliente = :pClin and (situ is null OR situ <> :situ) and DATACADASTRO >= :pData´); ParamByName(´pClin´).AsString := Edit5.Text; ParamByName(´situ´).AsString := Edit6.Text; ParamByName(´pData´).AsSQLTimeStamp := DateTimeToSQLTimeStamp(DATE); Open; end;
Gostei + 0
16/10/2006
Dpinho
Deu certinho Obrigado
Gostei + 0
16/10/2006
Macario
Se o SGBDR que voce usa der suporte a clausula IN, opte pela mesma, pois com ela voce tera melhor performance.
8)
Gostei + 0
16/10/2006
Dpinho
Utilizo Interbase, tentei com in, mas não conseguir retornar nada, talves não tenha colocado cert, poderia me dar um exemplo de como utilizar
Gostei + 0
16/10/2006
Macario
No seu caso a instrucao passada pelo colega [b:4e0887b84c]steve_narancic[/b:4e0887b84c] e a solucao.
A clausula IN nao suporta NULL como parametro.
Exemplo:
select * from Tabela where TIPO in (´A´,´B´,´F´,´Z´)
Neste caso a aplicacao do [b:4e0887b84c]IN[/b:4e0887b84c] tem melhor performance do que varias clausulas [b:4e0887b84c]OR[/b:4e0887b84c].
Espero ter lhe ajudado em algo.
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)