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

2 अलग-अलग तालिकाओं से योग जोड़ना

मैं दृढ़ता से normalize करने का सुझाव दूंगा आपका डेटा जैसा कि अन्य ने सुझाव दिया है।

अपने वर्तमान डिज़ाइन के आधार पर आप FIND_IN_SET वांछित परिणाम प्राप्त करने के लिए।

SELECT 
 M.id,
 M.name,
 COUNT(*) total
FROM members M 
INNER JOIN videos V ON FIND_IN_SET(M.name,V.members) > 0
GROUP BY M.name
ORDER BY M.id

डेमो देखें

इस क्वेरी को अपने दिए गए डेटा सेट पर चलाने से आपको नीचे जैसा आउटपुट मिलेगा:

| id |  name | total |
|----|-------|-------|
|  1 |   Tom |     2 |
|  2 |   Bob |     2 |
|  3 |  Zack |     3 |
|  4 |   Dan |     3 |
|  5 | Casey |     2 |

अवश्य पढ़ें

क्या एक डेटाबेस कॉलम में एक सीमांकित सूची संग्रहीत करना वाकई इतना बुरा है?

अधिक

इस तरह आपके vidoes यदि आप अपने डेटा को सामान्य करते हैं तो तालिका ऐसी दिखेगी:

vidoes

id   member_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP जबकि लूप दो में विभाजित है

  2. HTML फॉर्म के साथ PHP लॉगिन फॉर्म

  3. Mysql में INNODB कैसे सक्षम करें

  4. mysql त्रुटि 1406

  5. एक डेस्कटॉप एप्लिकेशन पर एकाधिक समान उपयोगकर्ता लॉगिन रोकें