Hallo
das hab ich auch gemacht! in einem feld steht ein datum und in einem weiteren die anzahl der tage an denen das gewinnspiel vor dem enddatum abläuft!
Lesetipp: Tipps für Fragende
Bei Fragen zu Datenbankabfragen (SQL-Statements) ist es in aller Regel eine gute Idee, die relevanten Tabellen mit den relevanten Spalten vorzustellen, mit ein paar Beispieldatensätzen sowie dem gewünschten Resultat - und der Begründung (im Klartext, nicht in SQL), warum dieses das gewünschte Resultat ist.
Ich versuchs mal an einem Beispiel:
Tabelle gewinnspiel
ablaufzeit | enddatum
---------------------------------
10 | 2008-04-26 12:00:00
8 | 2008-04-20 00:00:00
Nun liefert Dir
SELECT -- Gib mir
enddatum, -- das Enddatum
ablaufzeit, -- und den Ablaufzeitraum in Tagen
-- sowie den daraus resultierenden Ablaufzeitpunkt
DATE_SUB(enddatum, INTERVAL ablaufzeit DAY) ablaufzeitpunkt
FROM
gewinnspiel
die Ablaufzeitpunkte der diversen Gewinnspiele
Willst Du nun überprüfen, ob der Ablaufzeitpunkt bereits vorbei ist, so nutze die entsprechende WHERE-Klausel. Beachte, dass Du Aliasnamen nicht in der WHERE-Klausel verwenden kannst.
SELECT
enddatum,
ablaufzeit,
DATE_SUB(enddatum, INTERVAL ablaufzeit DAY) ablaufzeitpunkt
FROM
gewinnspiel
WHERE
-- wobei der Ablaufzeitpunkt zum jetztigen Zeitpunkt bereits verstrichen ist.
DATE_SUB(enddatum, INTERVAL ablaufzeit DAY) < NOW()
Freundliche Grüße
Vinzenz