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

तालिका B से सभी प्रविष्टियाँ प्राप्त करें जिनका तालिका A से कई प्रविष्टियों (दिए गए सूची) से संबंध है

यदि आप अस (सभी के रूप में नहीं) की सूची के आधार पर चयन करना चाह रहे हैं, तो इसे इस तरह करें:

SELECT b_id
FROM ab
WHERE a_id IN (1,2)
GROUP BY b_id
HAVING COUNT(a_id) = 2

बदलें (1,2) आपकी सूची और 2 . के साथ सूची आइटम की संख्या के साथ होने वाले खंड में।

यदि आपको एक सबक्वेरी से As की अपनी सूची मिलती है, तो आप इसे ऐसा कर सकते हैं (MySQL में नहीं, हालांकि...):

WITH subquery (
 --subquery code here
)

SELECT b_id
FROM ab
WHERE a_id IN subquery
GROUP BY b_id
HAVING COUNT(a_id) = (SELECT COUNT(*) FROM subquery)

MySQL में आपको अपना सबक्वेरी कोड दो बार डालना होगा और WITH क्लॉज को छोड़ना होगा।

आप एक अस्थायी तालिका का भी उपयोग कर सकते हैं, जो तब उस अस्थायी तालिका से ALL As का चयन करने के लिए प्रेरित करेगी और इस प्रकार गॉर्डन लिनॉफ़ उत्तर देते हैं...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पिछले सोमवार से वर्तमान दिन के बीच की तिथियां कैसे प्राप्त करें?

  2. डेटाबेस बनाम JSON बनाम एम्बेडेड डेटाबेस

  3. एक एसक्यूएल क्वेरी के परिणामों को विशिष्ट प्रारूप के साथ एक HTML तालिका में कैसे परिवर्तित करें

  4. कीवर्ड में MYSQL द्वारा छँटाई से बचें

  5. एक संग्रहीत कार्यविधि के साथ MySQL में एक तालिका को शफ़ल करें