yo,
neuer tag neues glück. wie gesagt, müssen wir die abfrage ein wenig umstellen, auch hier kommen dann korrelierende unterabfragen zum einsatz. ich habe sogar noch einen zweiten denkfehler gefunden, die bedingung, welche die datensätze mit der gleichen id ausschließt, muss raus. ich bin zu stark von deinen beispieldaten ausgegangen.
SELECT DISTINCT tab1.date, MIN(tab1.begin), MAX(tab1.end)
FROM termine AS tab1
WHERE tab1.id IN
(SELECT tab2.id
FROM termine AS tab2
WHERE tab1.begin <= tab2.end
AND tab1.end >= tab2.begin
)
GROUP BY tab1.date
ORDER BY tab1.date
auf wunsch kann man nur einen speziellen tag auswählen, indem man in der WHERE Klausel einen entsprechenden Tag setzt. ich hoffe mal, das tut es nun.
Ilja