Vazio e null no group by

10/10/2005

0

select cep, sum(ve_vendas.vlrtotal) as soma,
from in_usuario, ve_vendas
where in_usuario.cartao=ve_vendas.carteirinha and
(ve_vendas.dtpedido >= :pdataInicial2 and ve_vendas.dtpedido <=:pdataFinal2 ) and ve_vendas.fechou=´F´
group by in_usuario.cep
having sum(ve_vendas.vlrtotal) >= 0
order by soma desc

Executando essa sql no query analyzer... entre os varios grupos retornados, existe um grupo de cep vazio e um null...
Mas quando executo no delphi um datagrid me retorna dois grupos vazio... so que em registro separados... o group by nao junta os dois! Acredito que seja porque um dos grupo possui valor null e o outro branco e o banco de dados enterpreta essa informações de forma diferente...

Como posso resolver este problema...
Pensei em atribuir ´´ vazios para todos campos cep que tiverem null ... mas acredito que existem soluções melhores para este problema...
mas como trabalho como o SQL SEVER fazem 2 semanas... esto com dificuldades de encontra-la!!!
Agradeço qualquer ajuda!!!


Brahma

Brahma

Responder

Posts

10/10/2005

Gandalf.nho

Não uso SQL Server, mas se não me engano, ele possui as funções COALESCE e/ou CASE, que vc poderia usar para resolver esse problema.


Responder

10/10/2005

Brahma

A funcao he a seguinte isnull(cep,´´)
onde tinha cep, troquei pela expresao acima...

select isnull(cep,´´) as cep, sum(ve_vendas.vlrtotal) as soma
from in_usuario, ve_vendas
where in_usuario.cartao=ve_vendas.carteirinha and
(ve_vendas.dtpedido between :pdataInicial2 and :pdataFinal2) and ve_vendas.fechou=´F´
group by isnull(cep,´´)
having sum(ve_vendas.vlrtotal) >= 0
order by soma desc


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