sql >> Database teknologi >  >> RDS >> Mysql

Returner resultater af forespørgsel baseret på dagens dato i SQL (MySQL) del 2

Du skal først JOIN den anden tabel på den første ved hjælp af relaterede kolonner (jeg antager id i den anden tabel er relateret til table_c_id ).

Og som jeg havde sagt i mit svar til dit tidligere spørgsmål, er du bedre stillet at foretage sammenligningen i kolonnen bare dato og klokkeslæt, så forespørgslen forbliver sargerbar (dvs. i stand til at bruge indekser):

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 

Dette forudsætter crm_date_time_column vil aldrig indeholde tidspunkter, der ligger i fremtiden (f.eks. i morgen, næste måned osv.), men hvis det kan, vil du blot tilføje:

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

som en anden betingelse i WHERE klausul.



  1. Hvordan får man MySQL-databasestørrelse til din database?

  2. Sådan vælger du ældste dato fra MySQL

  3. Krypter adgangskode i R - for at oprette forbindelse til en Oracle DB ved hjælp af RODBC

  4. Konverter BufferedInputStream til billede