Problemas com campos nulos em query com sum
Olá,
estou desenvolvendo uma aplicação com dbexpress e firebird. Nela tenho um relatório que retorna valores somados dentro de um determinado período para diversos campos. Porém gostaria que no sum ele só considerasse os campos que não fossem nulos e, caso todos forem ele retornasse nulo e não zero.
Obs.: Não posso colocar na query a condição where campo is not null pq estou trazendo somado outros campos também que podem não ser nulos.
Alguém saberia como fazer??
Grata,
Vânia
estou desenvolvendo uma aplicação com dbexpress e firebird. Nela tenho um relatório que retorna valores somados dentro de um determinado período para diversos campos. Porém gostaria que no sum ele só considerasse os campos que não fossem nulos e, caso todos forem ele retornasse nulo e não zero.
Obs.: Não posso colocar na query a condição where campo is not null pq estou trazendo somado outros campos também que podem não ser nulos.
Alguém saberia como fazer??
Grata,
Vânia
Vania
Curtidas 0
Respostas
Emerson Nascimento
21/03/2005
se vc estiver utilizando FB 1.5, utilize a função COALESCE() na sua instrução.
GOSTEI 0
Kotho
21/03/2005
O que, mais especificamente, você está tentando fazer? Se sua preocução é na apresentação dos valores (quando for zero, apresentar nulo), você pode utilizar o Evento OnGetText do Field (no FieldsEditor)... lá você pode alterar o valor de Text, tipo, se o campo for zero, joga ´´ para Text...
GOSTEI 0
Eniorm
21/03/2005
se vc estiver utilizando FB 1.5, utilize a função COALESCE() na sua instrução.
A função COALESCE(campo,novovalor) retorna novovalor caso o valor do campo informado for nulo, dai vc poderia montar o seu select, usando a função que resolveria o problema, onte novovalor voce pode deixar como ´0´ pois vc usará o SUM
GOSTEI 0