Frank (no reg): MySQL Abfrage mit Datum

Beitrag lesen

Hallo echo "$verabschiedung $name";

Verwende eine Spalte vom Typ DATE.

Hat er das nicht bereits getan (Wer lesen tut, ist im Vorteil?):

Anreise und Abreise sind vom Typ Date - 00-00-0000

Die Frage des OP richtet sich mehr auf das Problem, wie man mit einer
Abfrage feststellt, dass sich zwei definierte Zeiträume überschneiden.
Das ist recht einfach:

  • Das Anfangsdatum einer Probe (neuer Datensatz) darf nicht innerhalb
      des Zeitraums eines existierenden Vergleichsdatensatzes liegen
  • dito für das EndDatum der Probe

In SQL wahrschweinlich etwa so ausgedrückt:

  
SELECT 1 FROM MeineTabelle  
WHERE @neuesAnreiseDatum NOT BETWEEN [Anreise] AND [Abreise]  
AND   @neuesAbreiseDatum NOT BETWEEN [Anreise] AND [Abreise]  
AND /* ... weitere vergleiche für z.b. dasselbe Mietobjekt */  

@neues~ stehen für Variablen die an jener Stelle eingefügt werden sollen

Wenn NULL zurückkommt schlagen beide Bedingungen fehl, was heisst,
mindestens eines der neuen Daten liegt innerhalb eines Zeitraums, der
bereits "reserviert" ist.

@dedlfix: deswegen gab's auch den Minuspunkt, weil deine Antwort keine Hilfe auf das Problem beinhaltet. Hast du dir den Pluspunkt selbst gegeben?

Ciao, Frank