Bonjour,

J'ai une table qui contient les données suivantes :

CODE_CLIENT --> Identifiant du client
DATE_HEURE --> Date et heure
NBR_PRODUITS --> Nb de produits achetés
MNT_PRODUITS --> Montant des produits achetés


J'ai besoin d'exécuter une requête qui récupère les données sur un mois, agrégées par client et par jour. Ma requête se présente ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT CODE_CLIENT, TO_DATE(DATE_HEURE, 'DD/MM/YYY'), SUM(NBR_PRODUITS), SUM(MNT_PRODUITS)
FROM SMSGEN_TEST
WHERE TO_DATE(DATE_HEURE, 'DD/MM/YYY')>TO_DATE('01/08/2009', 'DD/MM/YYY')
AND TO_DATE(DATE_HEURE, 'DD/MM/YYY')>TO_DATE('31/08/2009', 'DD/MM/YYY')
AND 
GROUP BY CODE_CLIENT, TO_DATE(DATSMS, 'DD/MM/YYY')
Cette requête fonctionne parfaitement bien.


Le problème c'est que j'aimerais récupérer un enregsitrement même pour chaque jour du mois où il n'a a pas de produits. En gros il faudrait faire un left join sur une table contenant tous les jours du mois.

Ma question est la suivante : existe-t-il un table système sous Oracle qui permettrait de récupérer tous les jours du mois, où est-ce que je suis obligé de me coltiner la création d'une table Calendrier ?

Merci d'avance

Dany