【发布时间】:2013-08-29 08:39:24
【问题描述】:
我有一个查询,如果名为 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
【问题讨论】:
标签: mysql conditional case where