Guten Abend allerseits,
der verwendete Datenbankserver ist MySQL Version 4.1
ich habe eine Tabelle mit Terminen, die folgendermaßen aufgebaut ist:
+------------+----------------------+
| Field | Type |
+------------+----------------------+
| id | int(10) unsigned |
| date | date |
| begin | time |
| end | time |
+------------+----------------------+
Die Termine liegen jeweils nur an einem Tag, ich könnte natürlich die begin/end auch als DATETIME-Typen anlegen.
Nun zu meinem Problem:
Ich möchte gerne sich überschneidende Termine als einen einzigen zusammenfassen. Ist das möglich, z.B. mit einem "GROUP BY"-Statement?
Falls ja wäre ein Denkanstoss sehr nett.
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 |
+----+------------+----------+----------+
Ergebnis des SELECT-Statements wäre idealerweise:
+------------+----------+----------+
| date | begin | end |
+------------+----------+----------+
| 2006-05-30 | 09:00:00 | 09:35:00 |
| 2006-05-30 | 09:45:00 | 10:10:00 |
| 2006-05-30 | 10:30:00 | 10:45:00 |
+------------+----------+----------+
Vielen Dank für eure Hilfe,
David