Guten Morgen,
ich brauche bitte mal einen Tipp von euch:
Ich habe eine Tabelle für einen Belegungsplan (id, anreise (date), abreise (date)).
Beispiel für einen Datensatz:
id = 1
anreise = 2014-07-09
abreise = 2014-07-31
Nun möchte ich beim Eintragen neuer Buchungen eine Überschneidung vermeiden und Frage daher wie folgt die DB ab:
SELECT id FROM `tabelle` WHERE (`anreise` BETWEEN '2014-07-09' AND '2014-07-31') || (`abreise` BETWEEN '2014-07-09' AND '2014-07-31')
Wenn ein Datensatz gefunden wird breche ich den INSERT ab und gebe eine Fehlermeldung aus.
Das Problem ist, dass z.B. der 2014-07-31 ein Abreisetag ist, aber auch ein Anreisetag sein kann. Gleiches gilt z.B. auch für den 2014-08-10:
id = 1
anreise = 2014-07-31
abreise = 2014-08-10
Nur die Tage "zwischen" dem Anreisetag und dem Abreisetag können keine An- und Abreisetage sein.
Hat jemand eine Idee wie ich meine "Sicherheitsabfrage" erwidern/umstellen muss?
Vielen Dank, Klaus