经过多次尝试,我无法解决这个问题,所以我决定与您分享,看看您是否可以帮助我。
我创建了一个高级产品搜索,但我无法根据所选类别过滤产品,我解释说:
我有两张表,products 和 products_categories。
+------------------+ | 产品 | +--------+----------+ | pr_id | 公关标题 | +--------+----------+ | 1 | 苹果手机 | +--------+----------+ | 2 | 三星 | +--------+----------+ | 3 | 小米 | +--------+----------+
+----------------------------+ | 产品分类 | +------------+-------------+ | ct_product | ct_category | +------------+-------------+ | 1 | 5 | +------------+-------------+ | 1 | 7 | +------------+-------------+ | 2 | 8 | +------------+-------------+
我只想过滤具有所选类别的产品,例如,我的 mysql 查询是:
SELECT * products WHERE products.pr_id IN (SELECT ct_product FROM products_categories WHERE ct_category IN (5, 8, 7)
此查询的结果是 Iphone 和 Samsung。
但我想要的是,如果任何产品没有选择不显示任何内容的 3 个类别,因为产品 id 1 没有类别 id 8,反之亦然。
我该如何解决这个问题?