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

SQL/सिद्धांत:लेफ्ट जॉइन प्रॉब्लम

आपकी शर्तें LEFT JOIN ... ON क्लॉज का हिस्सा होनी चाहिए।

$q = $this->createQuery('c')
    ->leftJoin('c.stJob j WITH j.expires_at > ? AND j.is_activated = 1 AND j.is_public = 1', date('Y-m-d h:i:s', time()))
    ->addOrderBy('c.name');

शर्तों को ON में डालना खंड (WHERE . के विपरीत ) इंगित करता है कि वे विशेष रूप से JOIN . पर लागू होते हैं . यदि कोई पंक्ति उन शर्तों को पूरा नहीं करती है, तो कोई जुड़ाव नहीं है - और इस मामले में आप यही चाहते हैं। उन्हें WHERE . में डालना इंगित करता है कि परिणाम पंक्तियों को उन शर्तों को पूरा करना चाहिए। और जाहिर तौर पर अगर कोई जॉइन नहीं होता, तो आप किसी को संतुष्ट नहीं कर सकते j . के बारे में शर्तें टेबल।



  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 के लिए बैकटिक्स का उपयोग करें लेकिन HSQL के लिए नहीं

  2. MySQL सीखने के लिए 5 सर्वश्रेष्ठ ऑनलाइन पाठ्यक्रम

  3. अधिकतम (टाइमस्टैम्प) के आधार पर मैसकल शामिल हों

  4. SQL सर्वर DB स्कीमा को MySQL में पोर्ट करने का सबसे अच्छा तरीका

  5. तालिका लिखने के लिए SQL कथन?