Mysql Magento:用于查找没有特定子标记的产品的SQL查询

Mysql Magento:用于查找没有特定子标记的产品的SQL查询,mysql,sql,magento,Mysql,Sql,Magento,您好,我希望有人能帮助我使用SQL,我的网站运行Magento,有大量的产品不属于任何子类别,不幸的是Magento没有一种在admin中显示没有类别的产品的方法 我发现这个查询显示的产品完全没有分类: 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

您好,我希望有人能帮助我使用SQL,我的网站运行Magento,有大量的产品不属于任何子类别,不幸的是Magento没有一种在admin中显示没有类别的产品的方法

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

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

但是有没有一种方法可以展示不属于特定子类别的产品?类似于类别“Tables”下的查询,但不是子类别“woody”下的查询。

我认为您可以使用相同的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');