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

उन पंक्तियों का चयन करें जहां पिवट में सभी आईडी हैं

आप एक having . जोड़ सकते हैं यह सुनिश्चित करने के लिए कि c.id के प्रत्येक समूह में चार cp.product_id हैं:

SELECT
    c.id as company_id
FROM
    `companies` as c
    LEFT JOIN `company_products` cp ON cp.company_id = c.id
WHERE
    c.id IN (8, 13)
    AND cp.product_id IN (1,2,4,8)
GROUP BY
    c.id
HAVING COUNT(DISTINCT cp.product_id) = 4;    

नमूना SQL Fiddle

यदि आपको उत्पाद विवरण की भी आवश्यकता है तो आप उपरोक्त क्वेरी को व्युत्पन्न तालिका के रूप में उपयोग कर सकते हैं और इसे उत्पाद तालिका से जोड़ सकते हैं।




  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 - अधिक अंकों की अनुमति देने के लिए मैं दशमलव कॉलम को कैसे अपडेट करूं?

  2. क्या जुनीट परीक्षण मामलों के लिए MySQL इन-मेमोरी चलाने का कोई तरीका है?

  3. यह वेबसाइट एन्कोडिंग को कैसे ठीक कर रही है?

  4. कई से कई अंदर कई से कई टेबल

  5. चुनें * आउटफाइल में रूट के लिए भी काम नहीं कर रहा है