Ok : pra não ficar "no ar", vamos Exemplificar... Primeiro, vaeja que na query 
abaixo eu não tenho registros para TODOS os meses do ano 1981 :

scott@DESENV:SQL>select empno, trunc(hiredate, 'month') data from emp where 
extract(year from hiredate)=1981;

    EMPNO DATA
--------- -------------------
     7499 01/02/1981 00:00:00
     7521 01/02/1981 00:00:00
     7566 01/04/1981 00:00:00
     7654 01/09/1981 00:00:00
     7698 01/05/1981 00:00:00
     7782 01/06/1981 00:00:00
     7839 01/11/1981 00:00:00
     7844 01/09/1981 00:00:00
     7900 01/12/1981 00:00:00
     7902 01/12/1981 00:00:00

10 linhas selecionadas.

scott@DESENV:SQL>

=> Aí, digamos que eu tenho essa sua necessidade, ie : quando NÃO existir o 
dado na tabela principal, eu quero trazer de OUTRA fonte de dados : poderia ser 
uma tabela real mesmo, mas Outras possibilidades de 'INVENTAR' dados existem, 
uma delas é o CONNECT BY, funciona a partir do 9ir2, iirc , vejamos :

scott@DESENV:SQL>SELECT TO_DATE('01/' || to_char(l, 'FM00') || '/1981') data, 0 
contagem  FROM (SELECT LEVEL l FROM dual CONNECT BY LEVEL < 13);

DATA                 CONTAGEM
------------------- ---------
01/01/1981 00:00:00         0
01/02/1981 00:00:00         0
01/03/1981 00:00:00         0
01/04/1981 00:00:00         0
01/05/1981 00:00:00         0
01/06/1981 00:00:00         0
01/07/1981 00:00:00         0
01/08/1981 00:00:00         0
01/09/1981 00:00:00         0
01/10/1981 00:00:00         0
01/11/1981 00:00:00         0
01/12/1981 00:00:00         0

12 linhas selecionadas.

scott@DESENV:SQL>

==> PRONTO, basta pedir que quando na primeira fonte de dados (a query na 
tabela EMP no meu exemplo) o dado venha da segunda fonte : COMO EU DISSE, UMA 
das maneiras é um OUTER JOIN, mas em alguns casos pode se usar MINUS, pode se 
usar Analytics 
(https://technology.amis.nl/2013/02/28/oracle-sql-spotting-combinations-that-occur-and-those-that-do-not-demonstrating-analytical-functions-outer-join-and-subquery-factoring/
 tem um exemplo), enfim.... 
 Vou usar aqui OUTER JOIN direto  :

scott@DESENV:SQL>ed
Gravou file afiedt.buf

  1  select nvl(E.data, F.data) DT, nvl(E.contagem, 0)
  2    from (
  3     select trunc(hiredate, 'month') as data, count(*) as contagem from emp 
where extract(year from hiredate)=1981 GROUP BY trunc(hiredate, 'month')
  4         ) E,
  5        (
  6     select TO_DATE('01/' || to_char(l, 'FM00') || '/1981') data, 0 contagem 
 FROM (SELECT LEVEL l FROM dual CONNECT BY LEVEL < 13)
  7        ) F
  8   where E.data (+) = F.data
  9* order by 1
scott@DESENV:SQL>/

DT                  NVL(E.CONTAGEM,0)
------------------- -----------------
01/01/1981 00:00:00                 0
01/02/1981 00:00:00                 2
01/03/1981 00:00:00                 0
01/04/1981 00:00:00                 1
01/05/1981 00:00:00                 1
01/06/1981 00:00:00                 1
01/07/1981 00:00:00                 0
01/08/1981 00:00:00                 0
01/09/1981 00:00:00                 2
01/10/1981 00:00:00                 0
01/11/1981 00:00:00                 1
01/12/1981 00:00:00                 2

12 linhas selecionadas.

scott@DESENV:SQL>

==> Ou seja : Janeiro não tinha ocorrência mostra ZERO, Fev tinha dois mostrou 
contagem de dois, Março não tinha, Abril tinha um... É isso , certinho ??

[]s

  Chiappa
  
OBS : 

  1. nem preciso dizer que vc TEM que adaptar isso pra tua lógica aí
  
  e
  
  2. acabou ficando meio comprido porque não quis me dar ao trabalho de criar 
uma tabela (seja tabela real seja GTT), não duvido que talvez fique mais curto 
se vc OU criar uma tabela mesmo com os dados a se 'inventar' OU se vc usar 
CTE...
 
  • [oracle_br] Retorno... Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
    • Re: [oracle_br... Emerson Gaudencio emerson.fen...@gmail.com [oracle_br]
      • Re: [oracl... Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
    • [oracle_br] Re... jlchia...@yahoo.com.br [oracle_br]
      • [oracle_br... jlchia...@yahoo.com.br [oracle_br]
        • Re: [o... Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
          • Re... jlchia...@yahoo.com.br [oracle_br]
            • ... Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
              • ... jlchia...@yahoo.com.br [oracle_br]

Responder a