Die Lösung in #20 ist gut! Lob!
Die Datumermittlung ist pfiffig, mit dem Subquerys und values.
Anfangs- und Ende-Überlappungen berücksichtigt und natürlich den Einschluss-Zeitraum.
Funktionieren kann es nur nicht wenn der Vertrag länger als 12 Monate laufen könnte, dass ist hier ja aber nicht Anforderung gewesen.
Man könnte die Selects noch in eine UDF auslagern.
http://stackoverflow.com/questions/1...math-max-in-ne