Magento:用于查找没有特定子目录的产品的SQL查询

时间:2016-01-07 04:17:08

标签: mysql sql magento

您好我希望有人可以帮助我使用SQL,我的网站运行Magento并且有大量产品不属于任何子类别,不幸的是magento没有办法显示没有类别的产品在管理员。

我发现此查询显示的产品完全没有分类:

SELECT e.entity_id, e.sku FROM catalog_product_entity AS e LEFT JOIN catalog_category_product AS l ON l.product_id = e.entity_id WHERE l.category_id IS NULL

但有没有一种方法可以显示不属于特定子类别的产品?就像在“表格”下的类别,而不是在“木制”的子类别中。

1 个答案:

答案 0 :(得分:0)

我认为您可以使用相同的SQL查询并进行一些修复。

SELECT e.entity_id, e.sku FROM catalog_product_entity AS e LEFT JOIN catalog_category_product AS l ON l.product_id = e.entity_id WHERE l.category_id IN(1,2) AND l.category_id NOT IN(3,4)

你也可以使用它:

     $productCollection = Mage::getModel('catalog/product')
                                ->getCollection()
                                ->joinField(
                                    'category_id', 'catalog/category_product', 'category_id', 
                                    'product_id = entity_id', null, 'left'
                                )
                                ->addAttributeToSelect('*')
                                ->addAttributeToFilter('category_id', array('in' => array(1,2)))
                                ->addAttributeToFilter('category_id', array('nin' => array(3,4)))
                                ->addAttributeToSort('created_at', 'desc');