MSSQL Datetime - BETWEEN x AND y

splat

Erfahrenes Mitglied
Hi,

ich habe hier folgende Tabelle mit Terminen:

Code:
id | termin (datetime)     | erinnerung
-----------------------------------------
1  | 12.07.2007 00:00:0000 | 7
2  | 22.07.2007 00:00:0000 | 20
3  | 30.08.2007 00:00:0000 | 5
4  | 23.11.2007 00:00:0000 | 180
-----------------------------------------

Die Spalte "erinnerung" gibt die Tage vor einem Termin an, an denen man benachrichtigt werden soll. Ich würde jetzt gerne sämtliche Datensätze sehen, für die noch Benachrichtigungen ausstehen. Nur ich bekomme das ganze irgendwie nicht so hin :confused:

Von der Idee her sollte das doch in etwa so funktionieren, oder?
Code:
SELECT id FROM tabelle WHERE termin BETWEEN termin - erinnerung Tage AND now()

Bekomme nur die Syntax nicht so ganz hin.. Nutze hier den SQL Server 2005 von MS.
Kann mir dabei jemand weiterhelfen?

Gruß
Marc
 
Hallo Marc,

du beachtest in deinem SQL keinen Ausgangszeitpunkt.
Deine Bedingung wäre immer erfüllt.

Versuchs mal so:
Code:
SELECT     ID, termin, erinnerung, termin - erinnerung AS [termin - erinnerung]
FROM         Tabelle                                                                 
WHERE     (GETDATE() BETWEEN termin - erinnerung AND termin)
 
Zuletzt bearbeitet:
Hallo,

dein Sql ist doch ok, wenn er syntaktisch richtig wäre.
Sorry hab wohl das now() überlesen.:eek:

also so:

Code:
 SELECT id FROM tabelle WHERE termin BETWEEN termin - erinnerung AND getdate()
 
Hallo Bernd,

ich nehme trotzdem deins, das finde ich etwas übersichtlicher :)

Vielen Dank und Gruss
Marc
 

Neue Beiträge

Zurück