[MySQL] Abfrageproblem Datumfkt.

Online-Skater

Erfahrenes Mitglied
Hallo programmiere ein Tippspiel für die BL und bräuchte mal Hilfe bei einer MySQL-Abfrage, da ich mich mit Datumsfunktion nur ausreichend auskenne.

Code:
|s_id|           |s_nr|           |s_date| ....
-----------------------------
|fortlaufend|  |const|          |3versch.|
s_id ist Primärschlüssel und eindeutige ID
s_nr gibt den Spieltag an (z.B. 9 mal die 4)
s_date ist das Datum der Spielpaarung, Freitag 1, Samstag 6, Sonntag 2 (meistens)

Frage: Wie muss der Query aussehen, damit ich den aktuellen Spieltag erhalte, also den der noch nicht alle Ergebnisse enthält.
Mein Test-Versuch sah so aus:
SQL:
SELECT `s_id` , `s_nr`
FROM `ts_spielplan`
WHERE `s_date` > NOW( )
LIMIT 9 ;
Das würde mir die nächsten 9 Spiele ausgeben aber da keine Überprüfung auf den Spieltag erfolgt würde ich bereits nach einem "aktuellen" Spiel ein falsches Ergebnis bekommen. Entweder weniger Einträge oder falsche wenn der übernächste Spielplan drinsteht.

Ich danke für eure Hilfe. :)
 
Sorry der Thread war wohl etwas voreilig habe es alternativ mit Subselects gelöst und bin gespannt bzw. bin mir ziemlich sicher das es funktioniert. Vielleicht hat einer eine elegantere Lösung als meine.

SQL:
// Testversuch
SELECT `s_id` , `s_nr`
FROM `ts_spielplan`
WHERE `s_nr` = 
(SELECT `s_nr` FROM `ts_spielplan` WHERE `s_date` < NOW() ORDER BY `s_id` DESC LIMIT 1) + 1;
// in Aktion
SELECT DATE_FORMAT( MIN( `s_date` ) , '%d.%m.%y' ) AS `min` , DATE_FORMAT( MAX( `s_date` ) , '%d.%m.%y' ) AS `max` , `s_nr`
FROM `ts_spielplan`
WHERE `s_nr` = (
SELECT `s_nr`
FROM `ts_spielplan`
WHERE `s_date` < NOW( )
ORDER BY `s_id` DESC
LIMIT 1 ) +1
GROUP BY `s_nr`;

mfg ;-)
 

Neue Beiträge

Zurück