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

Magento के उत्पाद SQL क्वेरी का उपयोग करके डेटाबेस से आयात करते हैं

मैं संपूर्ण SQL क्वेरी पोस्ट नहीं करने जा रहा हूँ क्योंकि डेटाबेस के माध्यम से मैन्युअल रूप से Magento से डेटा प्राप्त करने का प्रयास करना बहुत कठिन है, लेकिन मैं कहूंगा कि आप सही रास्ते पर हैं। इस तरह की चीज़ों के लिए जुड़ने की संख्या में कटौती करने के लिए, मैं अपने विशेषता_आईडी को ईएवी तालिका से पुनर्प्राप्त करता हूं और सीधे उनका उपयोग करता हूं। इसका मतलब है कि मेरी क्वेरी केवल my . पर काम करेगी Magento की स्थापना, लेकिन यह मेरे लिए कोई समस्या नहीं है।

select attribute_code, attribute_id, backend_type from eav_attribute
    where entity_type_id = (select entity_type_id from eav_entity_type where entity_type_code = 'catalog_product')
      and attribute_code in ('name', 'url_path', 'price', 'image', 'description', 'manufacturer');

पैदावार:

+----------------+--------------+--------------+
| attribute_code | attribute_id | backend_type |
+----------------+--------------+--------------+
| description    |           61 | text         |
| image          |           74 | varchar      |
| manufacturer   |           70 | int          |
| name           |           60 | varchar      |
| price          |           64 | decimal      |
| url_path       |           87 | varchar      |
+----------------+--------------+--------------+

अब आप टेडियम के लिए तैयार हैं! प्रत्येक विशेषता कोड के लिए, बैकएंड तालिका में शामिल हों (catalog_product_entity_$BACKEND_TYPE ) आपकी दी गई विशेषता आईडी पर। मेरे लिए, यह एक sku/name/id क्वेरी को बदल देगा (आपकी क्वेरी को वास्तव में उत्पादों के विरुद्ध शामिल होने की आवश्यकता नहीं है, क्योंकि आप शामिल होने के लिए entity_id का उपयोग करते हैं...) में:

select p.sku, p.entity_id, n.value name
    from catalog_product_entity p
    join catalog_product_entity_varchar n on n.entity_id = p.entity_id
  where n.attribute_id = 60;

नए जॉइन-स्टेटमेंट जोड़ना जारी रखें|कहां-क्लॉज|सेलेक्ट-क्लॉज सेट तब तक सेट करें जब तक कि आपके पास वे सभी जॉइन न हों जो आप मूल रूप से चाहते थे।

उस ने कहा, जोनाथन सही है कि इस डेटा को प्रबंधित करने के लिए मैगेंटो ढांचे का उपयोग करना डेटाबेस के माध्यम से इसे मैन्युअल रूप से करने से कहीं अधिक आसान होगा। जब तक आपके पास अत्यधिक संख्या में उत्पाद न हों, जिन्हें आपको एक साथ लोड करने की आवश्यकता हो (ध्यान दें कि वहां दो धारणाएं हैं, और आप दोनों को कम करने के लिए काम कर सकते हैं), यह ढांचे का उपयोग करने के लिए कहीं अधिक मजबूत होगा।

आशा है कि इससे मदद मिलेगी!

धन्यवाद, जो




  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. IN खंड के क्रम में mysql पंक्तियों का चयन कैसे करें

  4. पीडीओ का उपयोग कर आउट पैरामीटर के साथ संग्रहित प्रक्रिया को कॉल करना

  5. MySQL - ब्रेक को छोड़कर दो दिनांक-समय के बीच शुद्ध समय अंतर की गणना करें?