Nja, du kannst natürlich auch einfach dafür sorgen, dass du in jedem Jahr Umsatz hast.
Sei es durch mehr Arbeit oder indem du in deine Tabelle für jedes Jahr mindestens einen Dummyeintrag rein machst (mit 0 Umsatz).
Jupp, wenn du Datensätze für etwas haben willst, das es nicht gibt, dann mußt du sie eben erzeuen.
* entweder die Monate/Jahre, welche keine Umsätze haben, an dein Ergebnis anhängen (UNION)
* oder einfach erstmal für alle Monate/Jahre eine "Serie/Sequenz" generieren und damit dann die Umsatzdaten suchen (LEFT JOIN)
so in etwa
SQL-Code:
SELECT *
FROM cast(create_series(2009, 2018, 1) AS year) AS zeitraum
LEFT JOIN deine_umsatzdaten ON deine_umsatzdaten.year = zeitraum.year
GROUP BY year
k.A. ob Firebird auch schon was Fertiges hat,
https://www.postgresql.org/docs/deve...tions-srf.html
aber notfalls kannst das ja auch selber machen (fand auf die Schnelle nur das)
https://stackoverflow.com/questions/...nge-of-numbers