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

उप क्वेरी MySQL के रूप में संघ

SELECT  Parts.id
FROM    (
        SELECT  parts_id
        FROM    Parts_Category
        WHERE   Parts_Category.category_id = '508'
        UNION
        SELECT  parts_id
        FROM    Parts_Category
        WHERE   Parts_Category.main_category_id = '508'
        ) pc
JOIN    Parts
ON      parts.id = pc.parts_id
        AND Parts.status = 'A'
LEFT JOIN
        Image
ON      image.id = parts.image_id

ध्यान दें कि MySQL Index Merge . का उपयोग कर सकते हैं और आप अपनी क्वेरी को इस प्रकार फिर से लिख सकते हैं:

SELECT  Parts.id
FROM    (
        SELECT  DISTINCT parts_id
        FROM    Parts_Category
        WHERE   Parts_Category.category_id = '508'
                OR Parts_Category.main_category_id = '508'
        ) pc
JOIN    Parts
ON      parts.id = pc.parts_id
        AND Parts.status = 'A'
LEFT JOIN
        Image
ON      image.id = parts.image_id

, जो अधिक कुशल होगा यदि आपके पास निम्नलिखित अनुक्रमणिकाएँ हैं:

Parts_Category (category_id, parts_id)
Parts_Category (main_category_id, parts_id)



  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. JDBC में JTable पर डेटा कॉलिंग का अनुकूलन करें

  3. एक पाठ फ़ाइल पर MySQL लेखन

  4. कोडइग्निटर क्वेरी का चयन करें

  5. फोनगैप में mysql डेटाबेस से कैसे जुड़ें?