Montar uma query com as seguintes condicoes

Oracle

20/03/2007

Tenho o seguinte problema citado abaixo.
Na query tenho a condicao de estar entre o periodo de 01-06 ate 12-06 (mm-yy), porem alguns meses nao contem valores nos campos.
estou usando um software para gerar os graficos e nesse programa nao mostra os meses que nao tiveram movimentacao.
Foi sugerido estar criando uma tabela auxiliar com as datas dos meses que nao tiveram movimentacao. blz..
Mas nao estou conseguindo montar tudo na mesma query.
Existe uma maneira?



SELECT SUM(A.ATR1) AS ´CHEQUE IRB´
, TO_CHAR(A.DATA,´MM-YY´) AS ´DATA´
, B.DESCRICAO
FROM NIVEL5CAI A, TAB_NIVEL5CAI B
WHERE A.NIVEL5 = B.NIVEL5
AND B.DESCRICAO = ´CHEQUE IRB´
AND TO_DATE(TO_CHAR(A.DATA, ´MM-YY´), ´MM-YY´)
BETWEEN TO_DATE(´01-06´,´MM-YY´) AND TO_DATE(´12-06´,´MM-YY´)
GROUP BY TO_CHAR(A.DATA,´MM-YY´) , B.DESCRICAO

---------------


SELECT TO_DATE(TO_CHAR(TO_DATE(A.DATA,´DD-MM-YY´),´MM-YY´), ´MM-YY´) AS ´DATA´
FROM NIVEL5CAI A, TB_DATA_TESTE C
WHERE A.DATA=C.DATA(+)
AND TO_DATE(TO_CHAR(TO_DATE(A.DATA,´DD-MM-YY´),´MM-YY´), ´MM-YY´)
BETWEEN TO_DATE(´01-06´,´MM-YY´) AND TO_DATE(´12-06´,´MM-YY´)
GROUP BY TO_DATE(TO_CHAR(TO_DATE(A.DATA,´DD-MM-YY´),´MM-YY´), ´MM-YY´)
ORDER BY 1

Agradeço


Stgmta

Stgmta

Curtidas 0

Respostas

Motta

Motta

20/03/2007

Aqui vai um exemplo de como isto pode ser feito.

Neste exemplo se informa qts objetos do usuário foram criados por data

select created,sum(qtd) qtd
from
(select  created,count(*) qtd
 from user_objects
 where to_char(created,´yyyy´) = ´2006´ 
 group by created
 union all
 -- tabela ´fajuta´ para simular todos os dias do ano
 select (to_date(´31-dec-2005´) + rownum) created,0 qtd
 from   user_objects
 where rownum < 366)
group by created



GOSTEI 0
POSTAR