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 :
Cette requête fonctionne parfaitement bien.
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')
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
Partager