Mysql
 sql >> Base de données >  >> RDS >> Mysql

Renvoyer les résultats de la requête en fonction de la date du jour dans SQL (MySQL) Partie 2

Vous voudrez d'abord JOIN l'autre table sur la première en utilisant des colonnes liées (je suppose id dans l'autre table est liée à table_c_id ).

Et comme je l'avais indiqué dans ma réponse à votre question précédente, vous feriez mieux de faire la comparaison sur la colonne datetime nue afin que la requête reste sargable (c'est-à-dire capable d'utiliser des index):

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 

Cela suppose le crm_date_time_column ne contiendra jamais des heures qui sont dans le futur (par exemple demain, le mois prochain, etc.), mais si c'est le cas, vous ajouterez simplement :

AND b.crm_date_time_column < UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY)

comme une autre condition dans WHERE clause.