Conditionnelle dans la clause where MYSQL

J'ai une requête que si un indicateur appelé OrderBy est 1, alors c'est un événement de l'agenda et j'ai besoin de vérifier une plage entre deux champs. Alors que tous les autres types nous venons de vérifier pour la journée en cours de visualisation. Je recherche si les déclarations et a vu de nombreux posts où il a été suggéré cas être utilisé donc j'ai essayé de la mettre en application dans ma requête. Ma requête a besoin de la condition dans le where. Je sais que j'ai des problèmes de syntaxe, et c'est pourquoi je suis ici dans l'espoir que quelqu'un puisse indiquer la manière correcte de le faire.

Je vous remercie pour votre temps

Ma requête actuellement

SELECT          activities.*, 
                activitytypes.orderby 
FROM            activities 
LEFT OUTER JOIN activitytypes 
ON              activities.typeid = activitytypes.typeid 
WHERE           activities.userid = 86 
AND             activities.typeid NOT IN ( 5, 
                                          10, 
                                          11, 
                                          12, 
                                          19 ) 
AND 
                CASE 
                                WHEN activities.orderby = 1 THEN activities.starttime >= '2013-08-26 04:00:00' 
                                AND             activities.endtime <= '2013-08-27 04:00:00' 
                                ELSE activities.activitydate = '2013-08-26' 
                                order BY        activitytypes.orderby, 
                                                activities.starttime

OriginalL'auteur user2719164 | 2013-08-26