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

अलग-अलग स्थितियों के साथ MySQL में एकाधिक तालिकाओं से डेटा प्राप्त करें

आपको उपयोगकर्ता चेक को जॉइन में रखना होगा, न कि उस स्थिति में जहां ऐसा है:

SELECT c.course_id,l.topic,l.id,l.vid_duration,p.* 
FROM courses c 
LEFT JOIN lessons l ON l.course_id=c.course_id  
LEFT JOIN progress p ON l.id = p.lesson_id and p.user_id = :userid
WHERE c.slug = :course 

ऐसा करने का कारण यह है कि जॉइन "लेफ्ट जॉइन" का उपयोग करता है (जो परोक्ष रूप से एक बाहरी जॉइन है। इस प्रकार के जॉइन का मतलब है कि अगर कंडीशन काम करती है, तो उस टेबल के लिए उस रो के लिए सभी कॉलम डेटा वापस कर दें। कंडीशन काम नहीं करती है, यह पहले बताई गई टेबल का सारा डेटा लौटा देगी, लेकिन पंक्ति में बताई गई टेबल के लिए, यह उन सभी कॉलम के लिए NULLS लौटा देगी।

मैं उस विवरण के लिए क्षमा चाहता हूं, क्योंकि यह शब्दों में बयां करना मुश्किल है कि एक जटिल बाहरी (या बाएं) कैसे जुड़ता है बिना चिंता के काम करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. केस स्टेटमेंट द्वारा यूनियन को सभी SQL-SQLite क्वेरी कैसे बनाएं?

  2. सी # mysql के साथ परेशानी हो रही है:पंक्ति 1 पर कॉलम के लिए गलत स्ट्रिंग मान कोड 1366

  3. PHP array_intersect या in_array फिर MYSQL

  4. मुझे MySQL में UNSIGNED और SIGNED INT का उपयोग कब करना चाहिए?

  5. क्या मैं छवियों को MySQL में संग्रहीत कर सकता हूं