Hoi mensen,

ik heb het volgende probleem

ik heb deze tabel
id	naam	datum	groep_id

Nu wil ik alles binnenhalen waar
SELECT * FROM tabel WHERE groep_id = 0 order BY datum ASC

Maar als groep_id geen 0 is wil ik alleen het record met eerstvolgende datum

heeft iemand hier ervaring mee ?
De sql operator voor niet gelijk aan is: <>
Je kunt meerdere tests doen met && zoals in php.
Met limit kun je er voor zorgen dat je de aantal records die je ophaalt kan bepalen.
En de eerstvolgende datum? Ten opzichte van wat is dat dan?
Ik heb het gevoel dat dit met 1 query kan en ik sta erop dat het ook zo gaat gebeuren :P

maar de eerstvolgende datum na nu ( time() )
Lukt het je niet met die aanwijzingen die ik je gegeven heb?
Het is overigs NOW() en niet time ;-).
Iets in deze richting?

SET @var = SELECT COUNT(*) FROM tabel WHERE group_id = '0' ORDER BY datum ASC;
CASE @var 
    WHEN 
        0
    THEN 
        SELECT * FROM tabel ORDER BY datum ASC
    ELSE 
        SELECT * FROM tabel WHERE group_id = '0' ORDER BY datum ASC
END;

Reageren