Ir para conteúdo
Giovane Lopes

Mostrar resultado 0 no count quando não houver registro

Recommended Posts

Uma solução e criar uma sequencia artificial zerada e somar , aqui tem uma solução minha antiga existem outras usando o "connect by", veja se ajuda.

 

https://forum.imasters.com.br/topic/522521-forçar-select-trazer-linha-mesmo-que-sem-valor/?do=findComment&comment=2079146

 

https://asktom.oracle.com/pls/asktom/asktom.search?tag=using-connect-by-level-to-generate-dates-and-times

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu código está assim:

 

SELECT 
 trunc( A.DATA_AGENDADA) AS DATA,
 count(A.DATA_AGENDADA) AS TOTAL
  from os_agenda A
  where A.cod_empresa= 2 
        and A.data_agendada between ''20190901'' and ''20190930''
  group by  trunc( A.DATA_AGENDADA)
  order by trunc( A.DATA_AGENDADA)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

 

select data,
       sum(total) total
from
(select to_date('01/09/2019','dd-mm-rrrr')+(level-1) data ,
       0 total
       from dual
       connect by level <= ((to_date('30/09/2019','dd-mm-rrrr')-to_date('01/09/2019','dd-mm-rrrr')) + 1);
union all
SELECT
 trunc( A.DATA_AGENDADA) AS data,
 count(A.DATA_AGENDADA) AS TOTAL
  from os_agenda A
  where A.cod_empresa= 2
        and A.data_agendada between ''20190901'' and ''20190930''
  group by  trunc( A.DATA_AGENDADA)
) group by data
  order by data

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.