Jump to content
Giovane Lopes

Mostrar resultado 0 no count quando não houver registro

Recommended Posts

Estou fazendo um count em OracleSQL e nas datas que não possuem registros não é mostrado o resultado 0(zero), só mostrar a totalização quando há registros. Preciso de ajuda

Share this post


Link to post
Share on other sites

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

 

 

Share this post


Link to post
Share on other 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)

Share this post


Link to post
Share on other 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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.