SQL-statement (eerstvolgende datum na sysdate)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Folko Huizinga

Folko Huizinga

10/09/2011 19:07:26
Quote Anchor link
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?

Alvast bedankt voor de moeite!


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$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; ";
Gewijzigd op 10/09/2011 19:08:31 door Folko Huizinga
 
PHP hulp

PHP hulp

19/04/2024 16:33:05
 
- SanThe -

- SanThe -

10/09/2011 19:16:49
Quote Anchor link
CURDATE()
 
Folko Huizinga

Folko Huizinga

10/09/2011 19:30:31
Quote Anchor link
Dank voor je reactie...

Ik heb CURDATE() geprobeerd, maar dan worden de wedstrijden van vandaag gehaald.

Ik heb ook "> CURDATE()" geprobeerd, maar dan worden alle wedstrijden gehaald die na vandaag gespeeld worden (het hele jaarprogramma)

Ik zoek eigenlijk een statement waarbij alleen de wedstrijden opgehaald worden die gespeeld worden op de eerstvolgende datum na vandaag.
 
- SanThe -

- SanThe -

10/09/2011 20:11:12
Quote Anchor link
LIMIT 1
 
Folko Huizinga

Folko Huizinga

10/09/2011 20:18:53
Quote Anchor link
Alweer dank voor je reactie.

Dat is wat ik bedoel.
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.
 
Jacco Brandt

Jacco Brandt

10/09/2011 22:29:22
Quote Anchor link
DATE_FORMAT(`wed`.`datum`, "%Y %m %d") > DATE_FORMAT(NOW(), "%Y %m %d");
 
Arjan -

Arjan -

10/09/2011 23:04:08
Quote Anchor link
Folko Huizinga op 10/09/2011 20:18:53:
Alweer dank voor je reactie.

Dat is wat ik bedoel.
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.


Wat betekent LIMIT 1 volgens jou? Juist, dat er maximaal 1 resultaat wordt terug gegeven.
 
Folko Huizinga

Folko Huizinga

10/09/2011 23:09:56
Quote Anchor link
Jacco Brandt op 10/09/2011 22:29:22:
DATE_FORMAT(`wed`.`datum`, "%Y %m %d") > DATE_FORMAT(NOW(), "%Y %m %d");


Dank voor je reactie, Jacco...
maar op deze mnaier worden alle wedstrijden die in de database aanwezig zijn opgehaald, terwijl ik alleen maar de wedstrijden van de eerstvolgende wedstrijddatum wil hebben...

Toevoeging op 10/09/2011 23:11:32:

Arjan - op 10/09/2011 23:04:08:
Wat betekent LIMIT 1 volgens jou? Juist, dat er maximaal 1 resultaat wordt terug gegeven.

Zover was ik dus ook... Weet inmiddels al wel een aantal manieren hoe het niet moet!
 
- SanThe -

- SanThe -

10/09/2011 23:22:08
Quote Anchor link
Wat wil je nou precies? Alles van één bepaalde datum? Dan moet je toch die datum ingeven. Ik snap het waarschijnlijk niet goed.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/09/2011 10:19:34
Quote Anchor link
gebruik een geneste select:
SELECT .... FROM tabel WHERE datum = (SELECT MIN(datum) FROM tabel WHERE ....)
 
Folko Huizinga

Folko Huizinga

11/09/2011 22:09:48
Quote Anchor link
Thanks, Ger.
Heb het voor elkaar.

Iedereen bedankt voor de hulp.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.