David Aurelio: Termintabelle: Überlappende Termine zusammenfassen

Beitrag lesen

Hallo Ilja,

SELECT tab1.id, tab1.end AS 'Start',
(
  SELECT MIN(tab3.begin)
  FROM termine AS tab3
  WHERE tab3.begin > tab1.end
) AS 'Ende'
FROM termine AS tab1
WHERE
(
  SELECT COUNT( * )
  FROM termine AS tab2
  WHERE tab1.end
  BETWEEN tab2.begin
  AND tab2.end
  AND tab1.id <> tab2.id
) = 0

Das funtioniert wunderbar, hab vielen Dank!

btw. vielen dfank für die tabellen struktur, ich habe aber die spalte date vermisst ?

Ich habe die Spaltentypen von begin und end auf "DATETIME" gesetzt, daher ist die Spalte "date" nicht mehr erforderlich gewesen.

schönen Gruß,
David