Ich behaupte einfach mal, dass das auch nur mit
SQL geht, aber wahrsch. kompliziert.
Idee:
Left Join der Tabelle auf sich selber, Bedingung PNR=PNR und Datum=Datum-1
Weiterer Left Join der Tabelle auf sich selber, Bedingung PNR=PNR und Datum=Datum+1
Die Datumse wo einer der Joins null ist ist Begin oder Ende eines Fehlzeitraumes.
Die Datumse wo keiner der Joins null ist inmitten eines Fehlzeitraumes. Wird nicht weiter beachtet.
Die Datumse wo beide Joins null sind, sind 1-tägige Fehlzeiten.
Darüber ein weiterer Select der (bei mehrtägigen FZ) einem Begin-Fehlzeit-Datum das nächst kleinere Ende-Fehlzeit-Datum zuordnet.