Stefan E.: Termintabelle: Überlappende Termine zusammenfassen

Beitrag lesen

Hallo David,

Noch besser wäre es, direkt die "Leerräume" zwischen den Terminen selektieren zu können, aber ich gehe mal davon aus, das dies mit MySQL direkt nicht möglich ist.

Um die Sache etwas plastischer zu gestalten, habe ich mal ein paar Beispieldatensätze angehängt; jeweils zwei Sätze überschneiden sich.
+----+------------+----------+----------+
| id | date       | begin    | end      |
+----+------------+----------+----------+
|  1 | 2006-05-30 | 09:00:00 | 09:30:00 |
|  2 | 2006-05-30 | 09:15:00 | 09:35:00 |
|  3 | 2006-05-30 | 09:45:00 | 10:05:00 |
|  4 | 2006-05-30 | 09:45:00 | 10:10:00 |
|  5 | 2006-05-30 | 10:30:00 | 10:40:00 |
|  6 | 2006-05-30 | 10:40:00 | 10:45:00 |
+----+------------+----------+----------+

break_start=end
existiert, wenn es keinen Datensatz gibt, bei dem begin<=break_start
AND end>break_start zutrifft.

break_end=begin
existiert, wenn es keinen Datensatz gibt, bei dem begin<break_end
AND end>=break_end zutrifft.

Vielleicht ist da jetzt auch ein ganz grober Denkfehler drin, aber
auf den ersten Blick würde ich behaupten, dass man damit die Zeit
der jeweiligen Pausen ermitteln kann.

Viele Grüße,
Stefan