आपका निकटतम प्रत्यक्ष सन्निकटन विधेय के रूप में एक सहसंबद्ध उप-क्वेरी के साथ एक जुड़ाव है।
SELECT
ORD.ID
,ORD.NAME
,ORD.DATE
,ORD_HISTORY.VALUE
FROM
ORD
INNER JOIN
ORD_HISTORY
ON ORD_HISTORY.<PRIMARY_KEY>
=
(SELECT ORD_HISTORY.<PRIMARY_KEY>
FROM ORD_HISTORY
WHERE ORD.ID = ORD_HISTORY.ID
AND ORD.DATE <= ORD_HISTORY.DATE
ORDER BY ORD_HISTORY.DATE DESC
LIMIT 1
)
हालांकि, आपके मामले में, आपको लक्ष्य तालिका से केवल एक फ़ील्ड की आवश्यकता है। इसका मतलब है कि आप सीधे सेलेक्ट स्टेटमेंट में सहसंबद्ध उप-क्वेरी का उपयोग करने में सक्षम हैं।
SELECT
ORD.ID
,ORD.NAME
,ORD.DATE
,(SELECT ORD_HISTORY.VALUE
FROM ORD_HISTORY
WHERE ORD.ID = ORD_HISTORY.ID
AND ORD.DATE <= ORD_HISTORY.DATE
ORDER BY ORD_HISTORY.DATE DESC
LIMIT 1
) AS VALUE
FROM
ORD