Unë kam një tabelë ku ka dy kolona. Njëra kolonë është një vulë kohore dhe tjetra është sasia e orëve të punës.
Më duhet të marr një tabelë tjetër mujore, me dy kolona. Njëra duhet të jetë dita e muajit, dhe tjetra shuma (puna) në atë ditë.
Është e lehtë e di, por problemi është se kur ka një ditë pa punë, ai rresht nuk shfaqet. Më duhet ai rresht, me numrin e ditës dhe një zero si shumë (punë)
Faleminderit për ndihmën tuaj
tabela që marr tani është
day labor
1 8
2 4
3 7
4 3
6 7
7 9
dhe vazhdo...
siç mund ta shihni, dita e 5-të nuk shfaqet sepse kjo ditë nuk ka punë
Më duhet një ditë për t'u dukur si...5, Punë 0
SUM(COALESCE(labor.labor, 0))
në mënyrë që zero orë të kthehen për ditë pa punë siç kërkoi OP. Dhe unë mendoj se ju dëshironiWITH days AS
në vend tëWITH days OF YEAR
16.04.2015CROSS JOIN
tabelën e zonave të gjeneruara në pyetje dhe të shtoni zonën nëLEFT JOIN
kushtin e punës 23.04.2015with days as (SELECT LEVEL day1 FROM dual CONNECT BY LEVEL <= 365), zones AS (SELECT LEVEL ZONE FROM dual CONNECT BY LEVEL <= 5) SELECT days.day1, z.zone, NVL(sum(labor.labor),0) labot_sum FROM days CROSS JOIN zones Z LEFT JOIN labor ON trunc(labor.timestamp_col) = days.day1 AND z.zone = labor.zone GROUP BY days.day1,z.zone
23.04.2015