最初にJOIN
を実行する必要があります 他のテーブルを最初のテーブルに関連する列を使用します(id
を想定しています 他のテーブルのtable_c_id
に関連しています 。
そして、回答 で述べたように 前の質問に対して、クエリが引数可能のままになるように(つまり、インデックスを利用できるように)、裸の日時列で比較を行う方がよいでしょう:
SELECT a.value
FROM table_c a
INNER JOIN table_a b ON a.table_c_id = b.id
WHERE a.table_c_id IN (9,17,25) AND
b.crm_date_time_column >= UNIX_TIMESTAMP(CURDATE())
GROUP BY a.value
これは、crm_date_time_column
を前提としています 将来の時間(たとえば、明日、来月など)が含まれることはありませんが、可能であれば、次を追加するだけです。
AND b.crm_date_time_column < UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY)
WHERE
の別の条件として 条項。