मान लें कि PRICES.date
एक DATETIME डेटा प्रकार है, उपयोग करें:
SELECT pd.id,
pd.name,
pr.price
FROM PRODUCTS pd
LEFT JOIN PRICES pr ON pr.id = pd.id
AND DATE(pr.date) = CURRENT_DATE
इस उदाहरण में, date
मानदंड पहले . लागू किया जा रहा है जॉइन किया जाता है। यह एक व्युत्पन्न तालिका की तरह है, जो जॉइन किए जाने से पहले जानकारी को फ़िल्टर कर रहा है - जो WHERE क्लॉज में मानदंड निर्दिष्ट किए जाने की तुलना में अलग-अलग परिणाम देगा।
कल के लिए उत्पादों और कीमतों की सूची प्राप्त करने के लिए, उपयोग करें:
SELECT pd.id,
pd.name,
pr.price
FROM PRODUCTS pd
LEFT JOIN PRICES pr ON pr.id = pd.id
AND DATE(pr.date) = DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY)
संदर्भ:
यदि आप एक ही प्रश्न में आज और कल दोनों की कीमतें चाहते हैं, तो इसका उपयोग करें:
SELECT pd.id,
pd.name,
pr1.price AS price_today,
pr2.price AS price_tomorrow
FROM PRODUCTS pd
LEFT JOIN PRICES pr1 ON pr1.id = pd.id
AND DATE(pr1.date) = CURRENT_DATE
LEFT JOIN PRICES pr2 ON pr2.id = pd.id
AND DATE(pr2.date) = DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY)