Najpierw będziesz chciał JOIN
drugą tabelę na pierwszą używając powiązanych kolumn (zakładam id
w drugiej tabeli jest powiązany z table_c_id
).
I jak już wspomniałem w mojej odpowiedzi do poprzedniego pytania, lepiej zrobić porównanie na samej kolumnie datetime, aby zapytanie pozostało sargable (tj. mogło korzystać z indeksów):
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
Zakłada to crm_date_time_column
nigdy nie będzie zawierać czasów z przyszłości (np. jutro, w przyszłym miesiącu itp.), ale jeśli to możliwe, wystarczy dodać:
AND b.crm_date_time_column < UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY)
jako kolejny warunek w WHERE
klauzula.