Ci sono alcune soluzioni su SO:
- Come faccio a includere righe vuote in una singola query SQL GROUP BY DAY(date_field)?
- genera anche righe vuote se vuoto tra 2 date
- Gruppo SQL includendo righe vuote
- MySQL GROUP BY e Fill Empty Rows
- Riepiloga per settimana, anche per righe vuote
Una soluzione è per te un'altra tabella che contiene tutte le date possibili/rilevanti. Un'implementazione può essere trovata qui:https://stackoverflow.com/a/7262803/1085891
Se eseguito spesso, sarebbe più efficiente memorizzare le date. Tuttavia, per un rapido rapporto puoi generare le date che ti servono e unire l'output alla tabella che stai cercando.
- t-sql ottieni tutte le date tra 2 date
- SQL Server:come selezionare tutti i giorni in un intervallo di date anche se non esistono dati per alcuni giorni
- Ricevi tutte le date in intervallo di date in SQL Server