Da wirst du mit
Ansi-
SQL nicht weiter kommen.
Das Problem ist, das Du in der Abfrage selber eine gewisse Logik benötigst, die sich durch reines
SQL nicht abbilden lässt.
Prinzipiell sieht Deine Abfrage so aus:
Hole alle Anfangszeiten
für jeden Datensatz in dieser Abfrage:
- hole zugehörigen Endzeitpunkt
- hole dazwischen liegende daten
und an der zweiten Zeile scheiterst Du.
(Das mit dem zugehörigen Endzeitpunkt deswegen weil es theoretisch sein kann, daß sich Zeitbereiche überschneiden. Beispiel: 1. 09:00 Uhr - 12:00 Uhr, 2. 11:45 Uhr bis 13:00 Uhr. Auch wenn das vielleicht praktisch nicht so vorkommen kann, so wie Du das Datenmodell beschrieben hast ist es möglich und sollte entsprechend auch behandelt werden können.)
Das ganze lässt sich über Transact-
SQL z.b. beim MS
SQL - Server abbilden, bei Oracle geht das auch mit servergespeicherten Prozeduren. Ob das mit Interbase abbildbar ist weiss ich leider nicht.
Ansonsten müsstest Du diese Schleife tatsächlich programmatisch abbilden,
also erstmal alle End- und Startzeitpunkte selektieren, die jeweils zusammengehörigen raussortieren und dann pro Bereich eine einzelne between-Abfrage loslassen.