在哪里和或问题以获取检查的项目

我正在尝试创建一个动态查询,该查询连接我的表并过滤所选过滤器。在我的示例中,products_bind_filters是属于每个产品的过滤器项。

我试图在一个结果中找到具有以下条件作为示例的产品:

  • 红色,绿色或蓝色的产品
  • 中小型也有

我的查询是:

SELECT *,
            p.name as productName,
            c.name as categoryName,
            p.price as productPrice,
            p.hookName as productHook,
            c.hookName as categoryHook,
            p.imageMain as productThumb
            FROM products p
            JOIN products_bind_category pbc ON pbc.productsId = p.productsId
            JOIN category c ON pbc.categoryId = c.categoryId
            JOIN products_bind_value pbv ON pbv.productsId = p.productsId
            WHERE p.productsId != '0'
            AND pbc.categoryId = '10'
             AND (pbv.valueId = '54' ) AND (pbv.valueId = '167' OR pbv.valueId = '186' OR pbv.valueId = '175' )
            GROUP BY p.productsId
            ORDER BY p.Price ASC

但是,它没有返回正确的结果。有些产品符合标准,但未显示它们。

有任何想法吗?

我确实尝试过使用IN查询,但是也没有用。

评论