我有一个查询,如果一个名为 OrderBy 的标志为 1,那么它是一个日历事件,我需要检查两个日期时间字段之间的范围。而所有其他类型我们只检查您正在查看的日期。我研究了 if 语句,并看到许多建议使用案例的帖子,因此我尝试将其实现到我的查询中。我的查询需要 where 的条件。我知道我有语法问题,这就是为什么我在这里希望有人能指出正确的方法来做到这一点。
感谢您的时间
我的查询目前
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