jointure sur un calendrier : est-ce qu'une table système existe ?
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:
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