Fórum Montar uma query com as seguintes condicoes #28754
20/03/2007
0
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
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
Curtir tópico
+ 0
Responder
Posts
20/03/2007
Motta
Aqui vai um exemplo de como isto pode ser feito.
Neste exemplo se informa qts objetos do usuário foram criados por data
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)