Der Fehler lag wohl in diesen Zeilen:
AND (trm1.tag >= '2019-07-01' OR trm1.tag_bis >= '2019-07-01' )
AND (trm1.tag <= '2020-06-30' OR trm1.tag_bis <= '2020-06-30' )
Da tag_bis bei eintägigen Events NULL sein kann, habe ich dieses probiert:
AND (trm1.tag >= '2019-07-01' OR trm1.tag_bis IS NOT NULL AND trm1.tag_bis >= '2019-07-01' )
AND (trm1.tag <= '2020-06-30' OR trm1.tag_bis IS NULL OR trm1.tag_bis <= '2020-06-30' )
Gibt aber auch nicht die erwarteten Ergebnisse. Irgendwie habe ich den Einschluss/Ausschluss der NULL nicht verstanden. Nun habe ich es gekürzt, aber mehrtägige Events, die vor heute beginnen und noch laufen, sind nicht enthalten:
AND (trm1.tag >= '2019-07-01' )
AND (trm1.tag <= '2020-06-30' )
Linuchs