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

शामिल हों और एकाधिक और शर्तें

आपको IN() . के संयोजन का उपयोग करना होगा और GROUP BY ... HAVING इसे पाने के लिये। यदि आपको केवल यूजर आईडी की आवश्यकता है तो इसमें शामिल होने की कोई आवश्यकता नहीं है। तो कुछ इस तरह:

SELECT user, COUNT(attribute) AS attribute_count
FROM attributes
WHERE attribute IN(...) /* include your set of attributes here */
GROUP BY user
HAVING attribute_count = ? /* include number equal to number of attribute ID's in IN() above */

यदि आपको उपयोगकर्ता आईडी और नामों की आवश्यकता है तो आप उपरोक्त क्वेरी से प्राप्त इस रिकॉर्ड सेट को उपयोगकर्ता तालिका में फ़िल्टर के रूप में आसानी से शामिल कर सकते हैं:

SELECT user.id, user.name
FROM user
INNER JOIN
  (
    SELECT user, COUNT(attribute) AS attribute_count
    FROM attributes
    WHERE attribute IN(...) /* include your set of attributes here */
    GROUP BY user
    HAVING attribute_count = ? /* include number equal to number of attribute ID's in IN() above */
  ) AS filter
  ON user.id = filter.user


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NodeJS हीप मेमोरी त्रुटि को कैसे दूर करें?

  2. PHP/MySQL:डेटाबेस में मॉडल दोहराए जाने वाले ईवेंट लेकिन दिनांक सीमाओं के लिए क्वेरी

  3. MYSQL कार्यक्षेत्र में सिंटैक्स त्रुटि घोषित करें

  4. डॉक्ट्रिन क्वेरीबिल्डर:कई टूवन रिलेशनशिप जहां एक से अधिक सबएंटिटी का मिलान होना चाहिए

  5. PHP/MySQL:एडजेंसी लिस्ट मॉडल में सिंगल पाथ को पुनः प्राप्त करें