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

सभी टैग से मेल खाने वाले एकाधिक टैग (कई-से-अनेक संबंध) के लिए मैसकल क्वेरी में शामिल हों?

उपयोग करें:

  SELECT * 
    FROM OBJECTS o
    JOIN OBJECTSTAGS ot ON ot.object_id = o.id
    JOIN TAGS t ON t.id = ot.tag_id
   WHERE t.name IN ('tag1','tag2')
GROUP BY o.id
  HAVING COUNT(DISTINCT t.name) = 2

आप HAVING क्लॉज को मिस कर रहे थे।

यदि आप केवल उन पंक्तियों को चाहते हैं जहाँ दोनों टैग मौजूद हैं, तो LEFT JOIN करने की कोई आवश्यकता नहीं है।




  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 का कौन सा संस्करण एयरफ्लो संस्करण 1.10 के साथ संगत है?

  2. यदि स्थिति क्वेरी निष्पादित करती है, अन्यथा अन्य क्वेरी निष्पादित करें

  3. org.hibernate.exception.JDBCConnectionException प्राप्त करना:JNDI के माध्यम से भी क्वेरी निष्पादित नहीं कर सका

  4. संग्रहीत कार्यविधि का उपयोग करके मेरे द्वारा वांछित मान को पुनः प्राप्त नहीं किया जा सकता है

  5. mysql में यूटीसी में तारीख