我只是摆弄一些 sql 并试图获得所需的结果,但我并没有完全得到我想要的。我有一个 products 表和一个 product_filters 表,它们有关系,product_filters 表与 filter_values 表相关。在我的 sql 示例中,它打印出结果,但我似乎不能只计算顶层的产品数量,它打印出 3 而不是 2
所以我想要的是获得 2 个产品的准确计数
SELECT COUNT(*)
FROM
(SELECT x.product_id,x.department_id,x.title, pi.image_medium
FROM products x
INNER JOIN product_images pi on pi.product_id = x.product_id
WHERE x.department_id = 3
)p
INNER JOIN product_filters pf on pf.product_id = p.product_id
LEFT JOIN filters f on f.filter_id = pf.filter_id
RIGHT JOIN filter_values fv on fv.filter_value_id = pf.filter_value_id
WHERE p.department_id = 3 AND pf.filter_value_id IN(1,3)