sql >> Databasteknik >  >> RDS >> Mysql

Returnera sökresultat baserat på dagens datum i SQL (MySQL) del 2

Du vill först JOIN den andra tabellen på den första med relaterade kolumner (jag antar id i den andra tabellen är relaterad till table_c_id ).

Och som jag hade sagt i mitt svar till din tidigare fråga är det bättre att du gör jämförelsen i kolumnen kal datum och tid så att frågan förblir sargbar (dvs. kan använda 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 

Detta förutsätter crm_date_time_column kommer aldrig att innehålla tider som ligger i framtiden (t.ex. imorgon, nästa månad, etc.), men om det kan, skulle du bara lägga till:

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

som ett annat villkor i WHERE klausul.



  1. Saknade databasanslutningar eclipse

  2. SQL Server, kan du inte infoga null i primärnyckelfältet?

  3. Vad är SQL Injection?

  4. Bättre PHP, MySql, HTML och JavaScript IDE