OrderBy というフラグが 1 の場合、それはカレンダー イベントであり、2 つの日時フィールド間の範囲を確認する必要があるというクエリがあります。他のすべてのタイプは、あなたが見ている日をチェックするだけです。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