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

विशिष्ट मानों के बराबर चाइल्ड रिकॉर्ड के साथ पैरेंट रिकॉर्ड लौटाएं और जहां किसी दिए गए माता-पिता के लिए चाइल्ड रिकॉर्ड का कुल सेट एक विशिष्ट मान के बराबर हो

आपने जो प्रश्न पूछा है वह यह है:

SELECT  parent.item1, parent.item2, parent.index
FROM    parent
INNER JOIN
        child
ON      child.index = parent.index
GROUP BY
        parent.item1, parent.item2, parent.index
HAVING  SUM(CASE WHEN child.value IN (1111111, 2222222) THEN 1 ELSE 0 END) = 2
        AND COUNT(*) <= 2

यदि आप केवल यह सुनिश्चित करना चाहते हैं कि बच्चे IN . के सभी मानों से मेल खाते हैं सूची और कोई भी सूची में नहीं है, इसका उपयोग करें (SQL Server . में) )

SELECT  *
FROM    parent p
WHERE   NOT EXISTS
        (
        SELECT  NULL
        FROM    (
                SELECT  value
                FROM    child c
                WHERE   c.index = p.index
                ) c
        FULL JOIN
                (
                SELECT  11111111 AS value
                UNION ALL
                SELECT  22222222
                ) q
        ON      c.value = q.value
        WHERE   c.value IS NULL OR q.value IS NULL
        )



  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. केकेपीएचपी 3 - एसोसिएशन के साथ डेटा सहेजना जहां एसोसिएशन पर निर्भर है

  3. स्थानीय डेटा लोड करने पर Python2.7 MySQL कनेक्टर त्रुटि

  4. MySQL और php . में अद्वितीय टेक्स्ट फ़ील्ड

  5. mysql में एक बड़ी तालिका से यादृच्छिक पंक्ति का त्वरित चयन