Afficher des row vides dans une query
Bonjour à tous,
Je souhaiterai compter le nombre de ligne dans une table selon une date et une heure et afficher le résultat en incluant les heures ou il n'y a aucune transaction.
Voici un exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
WITH CALENDAR_MARCH AS
(
SELECT '10/03' AS DAYS, '12H' AS HOURS FROM DUAL UNION ALL
SELECT '10/03' , '12H' FROM DUAL UNION ALL
SELECT '10/03' , '13H' FROM DUAL UNION ALL
SELECT '10/03' , '14H' FROM DUAL UNION ALL
SELECT '10/03' , '14H' FROM DUAL
), CT AS
(
select DAYS, HOURS, ROW_NUMBER() over (partition by DAYS, HOURS order by DAYS ASC, HOURS ASC) nb_transactions from CALENDAR_MARCH
)
select DAYS, HOURS, count(nb_transactions) from CT group by DAYS, HOURS order by DAYS ASC, HOURS ASC;
le résultat me donne :
DAYS HOURS COUNT(NB_TRANSACTIONS)
10/03 11H 1
10/03 12H 1
10/03 13H 1
10/03 14H 2 |
Je cherche a obtenir un résultat du type :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
DAYS HOURS COUNT(NB_TRANSACTIONS)
10/03 00H 0
10/03 01H 0
10/03 02H 0
10/03 03H 0
10/03 04H 0
10/03 05H 0
..etc
10/03 11H 1
10/03 12H 1
10/03 13H 1
10/03 14H 2
..etc |
Des idées?
J'ai cherché du coté du over partition by , des cases, mais je ne trouve rien qui me permettent d'obtenir un affichage souhaité...