我如何从magento数据库获取有效的产品详细信息?

时间:2012-12-12 07:01:33

标签: sql magento

我需要magento数据库中的ACTIVE产品列表,其中包含以下信息。 如果有其他信息没有问题,但需要提供以下信息。

SKU:
PRODUCT NAME:
PRODUCT CATEGORY:
SHORT DESCRIPTION:
LONG DESCRIPTION:
WEIGHT:

为此编写查询的方法是什么。我只需要获取数据。没有php,只是sql查询。(Db结构有点复杂)

1 个答案:

答案 0 :(得分:2)

尝试一下,它可以获取产品数据:(状态= 2 =禁用产品,状态= 1 =启用产品)

SELECT `e`.*, IF(_table_status.value_id > 0, _table_status.value, _table_status_default.value) AS `status
FROM `mage_catalog_product_entity` AS `e`
INNER JOIN `mage_catalog_product_entity_int` AS `_table_status_default`
ON (`_table_status_default`.`entity_id` = `e`.`entity_id`)
AND (`_table_status_default`.`attribute_id` = '80')
AND `_table_status_default`.`store_id` = 0
LEFT JOIN `mage_catalog_product_entity_int` AS `_table_status`
ON (`_table_status`.`entity_id` = `e`.`entity_id`)
AND (`_table_status`.`attribute_id` = (SELECT attribute_id FROM mage_eav_attribute WHERE attribute_code = 'status' AND entity_type_id = 4))
AND (`_table_status`.`store_id` = '1')
WHERE (IF(_table_status.value_id > 0, _table_status.value, _table_status_default.value) = '2')

对于该类别,您将需要一些额外的工作。我通过在PHP和Magento集合中执行以下操作来获取此sql查询:

/* @var $productCollection Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection */
$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->addFieldToFilter('status', array('eq' => '2'))->load(true);