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

MySQL कई से कई एकल पंक्तियों में शामिल होता है

आपको दो जॉइन चाहिए:

SELECT
    product.productID,
    category.categoryID,
    product.name,
    product.price,
    category.name
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID

यदि कोई उत्पाद किसी भी श्रेणी में नहीं हो सकता है और आप अभी भी उसे वापस करना चाहते हैं, तो दोनों जगहों पर JOIN को LEFT JOIN में बदलें।

एक वैकल्पिक तरीका:

SELECT
    product.productID,
    product.name,
    product.price,
    GROUP_CONCAT(category.name)
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID
GROUP BY product.productID

हालांकि एक ही सेल में एकाधिक मान डालने के बजाय केवल दो प्रश्नों का उपयोग करना बेहतर हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATETIME प्रारूप मान में 1 दिन जोड़ना

  2. MySQL में Sqlalchemy बल्क अपडेट बहुत धीमी गति से काम करता है

  3. मैं मॉडल के बिना रेल ऐप से एक MySQL डेटाबेस से कैसे पूछ सकता हूं?

  4. स्प्रिंग बूट जेपीए MySQL:उपयुक्त ड्राइवर वर्ग निर्धारित करने में विफल

  5. गो-एसक्यूएल-ड्राइवर के साथ एक नया MySQL डेटाबेस कैसे बनाएं