Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में क्रॉस/आउटर अप्लाई

आपका निकटतम प्रत्यक्ष सन्निकटन विधेय के रूप में एक सहसंबद्ध उप-क्वेरी के साथ एक जुड़ाव है।

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं PHP में पासवर्ड हैश को कैसे डिक्रिप्ट कर सकता हूं?

  2. MySQL उच्च CPU उपयोग

  3. Oracle से MySQL / Percona Server में माइग्रेट कैसे करें

  4. mysql तालिका पंक्तियों को कॉलम में कैसे स्थानांतरित करें

  5. mysqli_stmt::bind_param():प्रकार परिभाषा स्ट्रिंग में तत्वों की संख्या बाइंड चर की संख्या से मेल नहीं खाती