MAGENTO:在SQL的子类别中获取产品的ID,图像,大拇指和价格

时间:2015-03-22 23:15:35

标签: mysql sql magento magento-1.8

我想在SQL(没有php)中提取Magento中特定子类别中所有产品的id,图片网址,拇指网址和价格。

我正在使用这种方法,但我不知道在哪里可以找到其他信息(价格,图片网址,拇指网址)。 你能帮帮我吗?

这是我的方法:

    SELECT *
FROM mg_catalog_product_entity AS p
LEFT JOIN mg_catalog_category_product AS cp
          ON p.entity_id = cp.product_id
LEFT JOIN mg_catalog_category_entity AS c
          ON cp.category_id = c.entity_id
LEFT JOIN mg_catalog_category_entity_varchar AS cat_varchar
          ON     c.entity_id = cat_varchar.entity_id  AND cat_varchar.attribute_id = 111
LEFT JOIN mg_catalog_product_entity_varchar AS prod_varchar
          ON     p.entity_id = prod_varchar.entity_id  AND prod_varchar.attribute_id = 96
 WHERE 1 
     AND c.entity_id = 4;

非常感谢你!

2 个答案:

答案 0 :(得分:1)

最简单的方法是将所有

连接起来
`catalog_product_entity_*` tables that exist in Magento

并使用catalog_eav_attribute获取键以将标签附加到eav表中的左连接值。

过滤所需数据后。

如果要简化连接,请打开数据库调试,在加载产品页面或管理产品页面时检查输出并复制orm使用的连接:

  

M1 \ lib中\瓦瑞恩\ DB \适配器\ PDO \ Mysql.php

第103行:

protected $_debug               = true;

第117行:

protected $_logAllQueries       = true;

检查输出:

  

M1 \变种\调试\ pdo_mysql.log

答案 1 :(得分:1)

您可以对拇指以外的所有内容使用以下查询,只需将 WHERE 子句中的 category_id 替换为您要分析的任何类别:


SELECT DISTINCT catalog_product_entity_media_gallery.entity_id AS id
                catalog_product_entity.sku,
                catalog_product_entity_media_gallery.value AS image url
                catalog_product_index_price.price AS price
  FROM((magento.catalog_product_entity_media_gallery
          catalog_product_entity_media_gallery
         INNER JOIN magento.catalog_product_entity catalog_product_entity
            ON(catalog_product_entity_media_gallery.entity_id =                    catalog_product_entity.entity_id))
        内部联接         magento.catalog_product_index_price catalog_product_index_price            ON(catalog_product_index_price.entity_id =                   catalog_product_entity.entity_id))
       INNER JOIN magento.catalog_category_product catalog_category_product           ON(catalog_category_product.product_id =                  catalog_product_entity.entity_id)
 WHERE(catalog_category_product。 category_id =' 23 ')
ORDER BY catalog_product_entity_media_gallery.entity_id ASC