आप सबसे पहले JOIN
करना चाहेंगे दूसरी तालिका पहले संबंधित कॉलम का उपयोग कर रही है (मैं मान रहा हूं id
दूसरी तालिका में table_c_id
. से संबंधित है )।
और जैसा कि मैंने अपने answer में कहा था अपने पिछले प्रश्न के लिए, आप नंगे डेटाटाइम कॉलम पर तुलना करने से बेहतर हैं ताकि क्वेरी सारगर्भित बनी रहे (यानी इंडेक्स का उपयोग करने में सक्षम):
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
. में एक और शर्त के रूप में खंड।