group by trazer hora zerada
Boa tarde,
Preciso do seguinte auxilio, fiz um select conforme mostra abaixo e agrupo no dia as horas, então conforme o movimento eu consigo saber as montante de movimentação por hora.
Exemplo:
00 = 1000
01 = 1500
02 = 2000
O problema está quando eu não obtive movimento na hora, ou seja, como usei group by, quando eu não tenho movimento ele não me trás nenhum resultado e na verdade para comparativos eu preciso que traga zero.
Hoje está assim, exemplo:
00 = 1000
01 = 1500
02 = 2000
05 = 1000
E eu precisava que trouxesse esse acumulado, assim:
00 = 1000
01 = 1500
02 = 2000
03 = 0
04 = 0
05 = 1000
Lembrando que como eu uso o sysdate e quero acompanhar graficamente as horas, eu não queria que ele preenchesse as demais horas, que ainda não passaram, exemplo agora são 15:50h e ele colocasse zero para o horário das 17,18,19,20, etc.
É possível?
select
APT.DT_SAIDA,
to_char(APT.HR_SAIDA, 'hh24') AS HORA,
SUM(APT.QT_LIQUIDO / 1000)AS CANA_ENTREGUE,
COUNT(*) AS CARGAS
from
PIMSPRD.APT_CARGAS APT, PIMSPRD.UPNIVEL3 UP3
where
APT.DT_SAIDA = TO_DATE(sysdate ,'DD/MM/YYYY')
and UP3.CD_SAFRA = APT.CD_SAFRA
and UP3.CD_UPNIVEL1 = APT.CD_UPNIVEL1
and UP3.CD_UPNIVEL2 = APT.CD_UPNIVEL2
and UP3.CD_UPNIVEL3 = APT.CD_UPNIVEL3
and ((APT.CD_UNID_IND = 1))
group by APT.DT_SAIDA, to_char(APT.HR_SAIDA,'hh24')
order by APT.DT_SAIDA, to_char(APT.HR_SAIDA,'hh24')
Discussão (3)
Carregando comentários...