mysql - Magento:用于查找没有特定子类别的产品的 SQL 查询

标签 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

但是有没有办法显示不在特定子类别中的产品呢?就像在“ table ”类别下一样,但不在“木制”子类别下。

最佳答案

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

关于mysql - Magento:用于查找没有特定子类别的产品的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34647282/

相关文章:

mysql - 如何更新连接值总和的字段?

MYSQL 按多个连接子项排序

php - mysql查询性能提升

mysql - 用 2 表选择减去 SUM 和 COUNT 的最佳方法?

mysql - MySQL 中的 linestring 函数非法非几何

magento - 如何在 Magento 中创建报告

php - Magento 事件观察器在某些机器上无法工作

html - Magento - 更改产品列表页面上 "Sort By"选项框的对齐方式?

mysql - mysql 存储值 : 0. 0 到 1.0 的正确数据库类型

mysql - 获取包含特定单元格中输入值的行,按其他单元格过滤,返回其他单元格值