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

डबल जॉइन एक ही टेबल के साथ दो बार

जहां बाईं जॉइन टेबल पर क्लॉज सीमाएं शून्य रिकॉर्ड के कारण वांछित परिणाम को समाप्त कर रही हैं ... इसलिए सीमाओं को शामिल होने के लिए ले जाएं ताकि सीमा शामिल होने से पहले लागू हो, इस प्रकार शून्य मान रिकॉर्ड रखते हुए।

SELECT i.*,r.*,r2.*, r.points+r2.points AS sum_points
FROM list_couples AS l
LEFT JOIN rank AS r ON l.p_1=r.player
  and r.week='$week' AND r.anno='$anno' 
LEFT JOIN rank AS r2 ON l.p_2=r2.player
  and  r2.week='$week' AND r2.anno='$year'
ORDER BY sum_points DESC

क्योंकि प्लूटो का कोई सप्ताह/वर्ष (वर्ष) नहीं है, तो जहां खंड उस रिकॉर्ड को समाप्त कर रहा है। शामिल होने की सीमा को स्थानांतरित करके, फ़िल्टर को शामिल होने से पहले लागू किया जाता है, इस प्रकार LEFT बाहरी जुड़ाव को बनाए रखता है।

दूसरा तरीका रखो, WHERE क्लॉज बाईं ओर को आंतरिक जोड़ रहा है!




  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. कैसे mysql में अजीब varchar समय वास्तविक समय में परिवर्तित करने के लिए?

  3. एसक्यूएल मानक यूपीएसईआरटी कॉल

  4. PHP/SQL डेटाबेस अच्छे अभ्यास और सुरक्षा की क्वेरी करता है

  5. cPanel में एक MySQL डेटाबेस यूजर को कैसे डिलीट करें