backdraft Geschrieben 16. November 2005 Teilen Geschrieben 16. November 2005 Hallo! Ich hab länger nichts mit SQL gemacht und komm jetzt bei einem Problem nicht mehr weiter. Man kann Veranstaltungen mit Start- und Enddatum anlegen (Datum -> Timestamp als int gespeichert). Wenn eine neue Veranstaltung angelegt wird, soll überprüft werden, ob sie zeitlich eine andere überschneidet. Man bräuchte dann ja in etwa eine Abfrage wie: (startNeu >= startVorhanden && startNeu <= endeVorhanden) || (endeNeu >= startVorhanden && endeNeu <= endeVoranden) um die herauszufinden, die der neue Eintrag überschneidet. Wie kann man das in SQL verpacken? Gruß backdraft Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 17. November 2005 Teilen Geschrieben 17. November 2005 Servus, kann sein, dass ich es mir zu leicht mache, aber ich würde es so probieren: (startNeu >= startVorhanden AND startNeu <= endeVorhanden) OR (endeNeu >= startVorhanden AND endeNeu <= endeVorhanden) Oder habe ich was übersehen? Wenn es wegen den Timestamps nicht mit < und > geht, dann gibt es für die Datenbank bestimmt eine Funktion, die Dir die Daten vergleicht. Was ist es denn für ein DBMS? Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
escito83 Geschrieben 17. November 2005 Teilen Geschrieben 17. November 2005 tumindest unter oracle kann man mit datum BEETWEEN start AND ende arbeiten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
backdraft Geschrieben 17. November 2005 Autor Teilen Geschrieben 17. November 2005 Alles klar... besten Dank! Manchmal hat man einfach ein Brett vorm Kopf... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.