SQL-statement (eerstvolgende datum na sysdate)

Status
Niet open voor verdere reacties.

Folko

Nieuwe gebruiker
Lid geworden
10 sep 2011
Berichten
2
In een MySQL database, in de tabel "wedstrijden" staan voor een heel seizoen wedstrijden.
Op een scherm in de kantine wil ik graag het programma tonen van de volgende speelronde.
Zelf kom ik niet verder dan de datum hard in het statement te noemen.
Iemand die mij kan helpen dit te verfraaien zodat het resultaat is dat het programma van de eerstvolgende datum na nu (sysdate) getoond wordt?

(Als ik CURDATE() gebruik in combinatie met LIMIT 1 dan krijg ik maar één wedstrijd terug, terwijl het 20 wedstrijden (die op die datum gespeeld worden) zouden moeten zijn.)

Code:
$q_wedstrijdoverzicht = "select date_format(wed.datum, '%d-%m-%Y')    datum
                         ,      time_format(wed.tijd, '%H:%i')        tijd
                         ,      wed.klasse                            klasse
                         ,      tmt.naam                              thuis
                         ,      tmu.naam                              uit
                         from   wedstrijden   wed
                         ,      teams         tmt
                         ,      teams         tmu
                         where  wed.thuis_id = tmt.id
                         and    wed.uit_id   = tmu.id
                         and    wed.datum   >= now()
                         and    wed.datum   = '2011-09-23'
                      /* and    wed.datum   < adddate(now(), interval 32 day) */
                         order by wed.datum, wed.tijd asc; ";
 
Zoiets misschien? Met een subselectie waarmee je de juiste datum selecteert:
PHP:
$q_wedstrijdoverzicht = "select date_format(wed.datum, '%d-%m-%Y')    datum
                         ,      time_format(wed.tijd, '%H:%i')        tijd
                         ,      wed.klasse                            klasse
                         ,      tmt.naam                              thuis
                         ,      tmu.naam                              uit
                         from   wedstrijden   wed
                         ,      teams         tmt
                         ,      teams         tmu
                         where  wed.thuis_id = tmt.id
                         and    wed.uit_id   = tmu.id
                         and    wed.datum    = ( select min( datum ) from wedstrijden where datum > curdate() )
                         order by wed.datum, wed.tijd asc; ";
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan