Il existe pas mal de solutions sur SO :
- Comment puis-je inclure des lignes vides dans une seule requête SQL GROUP BY DAY(date_field) ?
- générer des lignes vides même si vide entre 2 dates
- Grouper SQL en incluant des lignes vides
- MySQL GROUP BY et remplir les lignes vides
- Résumer par semaine, même pour les lignes vides
Une solution est pour vous une autre table qui contient toutes les dates possibles/pertinentes. Une implémentation peut être trouvée ici :https://stackoverflow.com/a/7262803/1085891
S'il est exécuté souvent, il serait plus efficace de stocker les dates. Cependant, pour un rapport rapide, vous pouvez générer les dates dont vous avez besoin et joindre la sortie au tableau dans lequel vous effectuez la recherche.
- t-sql obtient toutes les dates entre 2 dates
- SQL Server :comment sélectionner tous les jours d'une plage de dates même si aucune donnée n'existe pendant certains jours
- Obtenir toutes les dates dans plage de dates dans SQL Server