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

लार्वेल 5.0 में बाहरी पूर्ण जुड़ाव का उपयोग कैसे करें?

मुझे नहीं पता कि आपकी क्वेरी वास्तव में क्या हासिल करने की कोशिश कर रही है, और आपको पूर्ण बाहरी जुड़ाव की आवश्यकता कहां है, लेकिन मैं यह उत्तर यह कहकर शुरू करूंगा कि MySQL के पास पूर्ण बाहरी जुड़ाव के लिए कोई अंतर्निहित समर्थन नहीं है। इस SO प्रश्न पर आधारित , हम निम्नलिखित प्रश्न लिखने का एक वैकल्पिक तरीका ढूंढ सकते हैं:

SELECT * FROM t1
FULL OUTER JOIN t2
    ON t1.id = t2.id

इसे UNION . के रूप में फिर से लिखा जा सकता है लेफ्ट जॉइन और राइट जॉइन:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

Laravel में, हम उपरोक्त पूर्ण बाहरी जुड़ाव का प्रतिनिधित्व करने के लिए निम्नलिखित कोड लिख सकते हैं:

$second = DB::table('t2')
             ->rightJoin('t1', 't1.id', '=', 't2.id')

$first = DB::table('t1')
            ->leftJoin('t2', 't1.id', '=', 't2.id')
            ->unionAll($first)
            ->get();

दोबारा, मुझे नहीं पता कि आपको क्यों लगता है कि आपको दो बाहरी जुड़ावों की आवश्यकता है, लेकिन भले ही आप उपरोक्त कोड और क्वेरी को अनुकूलित करने और अपनी स्थिति के लिए इसका उपयोग करने में सक्षम हों।

संदर्भ:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql में एक चयन में अगर/अन्य स्थिति का उपयोग कैसे करें?

  2. nodejs mysql त्रुटि:कनेक्शन खो गया सर्वर ने कनेक्शन बंद कर दिया

  3. डेटाबेस में देशांतर और अक्षांश को कैसे स्टोर करें। MySQL -99.99999999 से आगे नहीं जाएगा

  4. PHP का उपयोग करके डेटाबेस में दोहराए बिना यादृच्छिक संख्या कैसे उत्पन्न करें?

  5. IN() और बिना किसी सॉर्टिंग के क्वेरी का चयन करें