Hallo,
ich suche eine Mysql Abfrage, die überprüft, ob ein Zeitraum in einem anderen Zeitraum liegt. Dieses soll auch Schnittmengen beinhalten.
Ein einfaches
event_start_datum>=suche_startdatum AND event_ende_datum
Hallo,
ich suche eine Mysql Abfrage, die überprüft, ob ein Zeitraum in einem anderen Zeitraum liegt. Dieses soll auch Schnittmengen beinhalten.
Ein einfaches
event_start_datum>=suche_startdatum AND event_ende_datum
Hallo,
das ist wohl weniger ein SQL-Problem als ein logisches.
Also erstmal die Fallunterscheidungen machen:
Also drei oder vier Fälle, die du mit OR verknüpfen kannst.
Gibt es ein Between in Mysql? Das würde die Sache vielleicht etwas vereinfachen.
HTH, muzel
ich suche eine Mysql Abfrage, die überprüft, ob ein Zeitraum
in einem anderen Zeitraum liegt. Dieses soll auch
Schnittmengen beinhalten.
Ein einfaches
event_start_datum>=suche_startdatum AND
event_ende_datum
Wenn ich es richtig verstanden habe suchst du die Bedingung ‚hat eine nicht leere Schnittmenge‘. Wenn dem so ist, geht das auch ohne Fallunterscheidung.
Wenn das eine Intervall gegeben ist durch start1 und ende1 und das andere Interval durch start2 und ende2 liefert dir dies
ende1 > start2
and ende2 > start1
and ende1 > start1 – kannst du dir sparen, wenn du weisst, dass es echte Intervalle sind
and ende2 > start2 – kannst du dir sparen, wenn du weisst, dass es echte Intervalle sind
das richtige Ergebnis.
Durch gezieltes ersetzen von > durch >= kannst du die hier offenen Intervallgrenzen in geschlossene umwandeln. (wenn zwei geschlossene Intervallgrenzen verglichen werden, brauchst du ein >= sonst immer ein >:wink:
Jens