Autor Zpráva
ayon
Profil *
mám tabulku se seznamem akcí
akce - id, nazev, datum, zacatek, activated
potřebuju dotaz, který mi vybere všechny akce, které mají datum menší než dnešní datum a pokud je datum dnešní, musí se ještě zkontrolvat začátek akce.
Něco jako:
SELECT id, nazev, datum, zacatek FROM mdc_prednasky
WHERE activated = '1' AND datum >= CURDATE()
IF(datum = CURDATE()) THEN (AND zacatek > CURTIME())

to co jsem napsal je blbost, ale alespon pro představu co tím myslím
s podmínkou jsem v Mysql dotazu select ještě nepracoval a jsem z toho celkem zmatený.
Zvládl bych to tak, ze bych vybral všechny, které jsou budoucí i dnešní a čas pak ošetřil pomocí PHP. Zajímá mě ale řešení v MySql dotazu.
Díky za pomoc
WanTo
Profil
... WHERE activated = '1' AND ((datum > CURDATE()) OR (datum = CURDATE() AND zacatek > CURTIME()))


Nějak takhle, nejspíš. Jen nevím, jestli chceš opravdu mít datum menší než dnešní datum, poněvadž v tom svém kódu to máš přesně obráceně.
ayon
Profil *
díkes
tohle sice řeší problém, ale neřeší to můj dotaz. Tento SQL dotaz mě napadl taky. Jde mi ale konkrétně o ten IF a jak ho správně použít v dotazu SELECT. Tuhle situaci jsem použil jako příklad.
I tak děkuju za zájem, pomoc a ještě ke všemu tak rychle :-)

Co teda ten IF?
Kajman_
Profil *
Na takovéto věci se používá where. Na to if nepotřebujete.
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: