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

IN सबक्वेरी के साथ MySQL क्वेरी में सुधार करें

MySQL अग्रणी और संचालित तालिका को IN . में स्विच नहीं कर सकता खंड। इसे 6.0 में ठीक किया जाएगा

अभी के लिए, आप इसे इस तरह फिर से लिख सकते हैं (एक JOIN . की आवश्यकता है ):

SELECT  i.*
FROM    (
        SELECT  DISTINCT item_id
        FROM    item_attributes a
        WHERE   a.attribute_name = 'SomeAttribute'
                AND a.attribute_value = 'SomeValue'
        ) ai
JOIN    items i
ON      i.id = ai.item_id

चूंकि आप EAV . का उपयोग कर रहे हैं मॉडल आप (attribute_name, item_id) पर एक अद्वितीय अनुक्रमणिका बनाना चाहते हैं इस मामले में आप एक सादे जुड़ाव का उपयोग कर सकते हैं:

SELECT  i.*
FROM    item_attributes ai
JOIN    items i
ON      i.id = ai.item_id
WHERE   a.attribute_value = 'SomeValue'
        AND a.attribute_name = 'SomeAttribute'


  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 URL, होस्ट, पोर्ट और उपयोगकर्ता नाम का पता कैसे लगा सकता हूँ?

  2. PHP और MySql में आकार की समस्या अपलोड करें

  3. लिनक्स पर मेरे एएसपीनेट कोर ऐप से मेरी टेबल माइग्रेट कैसे करें?

  4. n . से शुरू होने वाले mySQL में प्रत्येक nth पंक्ति का चयन कैसे करें

  5. लगातार अंतिम पंक्ति ढूँढना