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

लेफ्ट आउटर जॉइन मेरी लेफ्ट टेबल से सभी पंक्तियों को वापस नहीं करता है?

नैन का जवाब दिया गया बताता है कि आपको वांछित परिणाम क्यों नहीं मिलता है (आपका WHERE क्लॉज पंक्तियों को हटा देता है), लेकिन इसे ठीक करने का तरीका नहीं।

समाधान यह है कि WHERE को AND में बदला जाए ताकि कंडीशन शामिल होने की स्थिति का हिस्सा हो, न कि जॉइन के बाद लागू किया गया फ़िल्टर:

SELECT day.days, COUNT(*) as opens 
FROM day 
LEFT OUTER JOIN tracking
ON day.days = DAY(FROM_UNIXTIME(open_date)) 
AND tracking.open_id = 10 
GROUP BY day.days

अब परिणाम में बाईं तालिका की सभी पंक्तियाँ मौजूद होंगी।



  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 IN खंड में अल्पविराम से अलग किए गए मान

  2. MySQL त्रुटि 1064 को कैसे ठीक करें

  3. MySQL के साथ Oracle JDeveloper Snippets का उपयोग करना

  4. स्क्रिप्ट का उपयोग करके PHP MySQL डेटाबेस कनेक्शन का परीक्षण कैसे करें

  5. MySQL डेटाबेस प्रदर्शन देने के लिए युक्तियाँ - भाग एक