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

लैरावेल लेफ्ट जॉइन केवल राइट टेबल के आखिरी रिकॉर्ड में

यहां हमारे पास 2 टेबल हैं उपयोगकर्ता और उत्तर जहां उपयोगकर्ता बाईं तालिका है और उत्तर सही तालिका है जिसमें उपयोगकर्ता उत्तर हैं।

हम उपयोगकर्ताओं . में शामिल होना छोड़ना चाहते थे उत्तरों . के साथ लेकिन जुड़ाव नवीनतम रिकॉर्ड या उत्तरों . के साथ होना चाहिए टेबल।

$query = Users::select('users.id', 'users.user_name','answers.created_at as last_activity_date')
->leftJoin('answers', function($query) 
{
   $query->on('users.id','=','answers.user_id')
   ->whereRaw('answers.id IN (select MAX(a2.id) from answers as a2 join users as u2 on u2.id = a2.user_id group by u2.id)');
})
->where('users.role_type_id', Users::STUDENT_ROLE_TYPE)->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. दो कॉलम का उपयोग करके मैसकल ऑर्डर

  3. मैसकल:चुनिंदा स्टेटमेंट के भीतर इनलाइन टेबल बनाएं?

  4. डेटाबेस में पूल विकल्प का उपयोग क्या है। yml

  5. तीन तालिकाओं के साथ जुड़ने का उपयोग करना जब कोई फ़ील्ड शून्य हो सकता है