Salut, je rejoins une table avec une plage de 1 mois, pour obtenir le nombre par jour basé sur la table de jointure (table de base).Le groupe PLSQL par avec la table de plage joine affiche le nombre correct
Pour cela, j'utilise la jointure externe gauche pour obtenir le nombre de par jour. où ma table de base est comme indiqué ci-dessous (nom de la table Registrierung]
Et je créer gamme d'un mois en utilisant ci-dessous requête
SELECT TO_DATE ('01-10-2017', 'dd-mm-yyyy') + ROWNUM - 1 AS daterange
FROM all_objects
WHERE ROWNUM <=
TO_DATE ('30-10-2017', 'dd-mm-yyyy')
- TO_DATE ('01-10-2017', 'dd-mm-yyyy')
+ 1;
mais j'obtenir le nombre 1 pour la date où il y a maintenant enregistrement correspondant à la table de plage au lieu de 0.
J'utilise ci-dessous la requête pour le résultat final.
SELECT TRUNC (a.daterange), COUNT (a.daterange)
FROM (SELECT TO_DATE ('01-10-2017', 'dd-mm-yyyy') + ROWNUM - 1
AS daterange
FROM all_objects
WHERE ROWNUM <=
TO_DATE ('30-10-2017', 'dd-mm-yyyy')
- TO_DATE ('01-10-2017', 'dd-mm-yyyy')
+ 1) a
LEFT OUTER JOIN
REGISTRIERUNG b
ON TRUNC (a.daterange) = TRUNC (b.MODIFIKATIONZEIT)
GROUP BY TRUNC (a.daterange)
ORDER BY TRUNC (a.daterange) ASC;
Thnaks ça marche – user432843